Как сохранить выпадающее выбранное значение во время обратной записи ASP.NET с помощью C#?
Я хочу сохранить выпадающее выбранное значение во время post back in asp.net с помощью c#. Я использую функцию javascript, с помощью которой я присваиваю значения из всплывающего окна. Я пытаюсь вызвать серверное событие, используя функцию __dopostback в javascript. Следовательно, я также не мог привязать выпадающий список к событию загрузки страницы (а не обратной передачи).
Что я уже пробовал:
Вызов события на стороне сервера из javascript выглядит следующим образом:
var dialogWindow = window.showModalDialog('ViewOIC.aspx?Bank=' + Bank + '&InstCode=' + InstCode, 'mywindow', 'dialogWidth:875px; dialogHeight:400px; center:yes; status = no; toolbar = no; menubar = no'); if (dialogWindow != null) { document.getElementById('ctl00_cphDDS_txtOrgIdCode').value = dialogWindow.OriginatorIdentificationCode; document.getElementById('trOriginatorName').style.display = ''; document.getElementById('trOriginatorName').style.visibility = 'visible'; document.getElementById('ctl00_cphDDS_lblSelectedOriginator').innerHTML = dialogWindow.CompanyName; document.getElementById('ctl00_cphDDS_hidOrgName').value = dialogWindow.CompanyName; var OrgIdCode = document.getElementById('ctl00_cphDDS_txtOrgIdCode').value; //Added by Alex on 19.3.2020 for triggering Server Side Event Start __doPostBack('',''); //Added by Alex on 19.3.2020 for triggering Server Side Event End }
Код для привязки выпадающего списка:
#region FetchPurposeCode_OIC private void FetchPurposeCode_OIC(string strOIC) { try { if (!string.IsNullOrEmpty(strOIC)) { string OICType = strOIC.Substring(1, 2); DataSet ds = BLL_OUT_300.GetDDAPurposeCodeForOIC(OICType); if (ds.Tables[0].Rows.Count > 0) { ddlIssuedFor.DataSource = null; ddlIssuedFor.DataBind(); ddlIssuedFor.DataSource = ds; ddlIssuedFor.DataTextField = "DDAPurposeCodeDescription"; ddlIssuedFor.DataValueField = "DDAPurposeCode"; ddlIssuedFor.DataBind(); } else { DataSet dsPurposeCodes = Common.GetDDAPurposeCode(ddlBankType.SelectedValue); if (dsPurposeCodes.Tables[0].Rows.Count > 0) { ddlIssuedFor.DataSource = null; ddlIssuedFor.DataBind(); ddlIssuedFor.DataSource = dsPurposeCodes.Tables[0]; ddlIssuedFor.DataTextField = "DDAPurposeCodeDescription"; ddlIssuedFor.DataValueField = "DDAPurposeCode"; ddlIssuedFor.DataBind(); } } ddlIssuedFor.Items.Insert(0, new ListItem("---Select---", "0")); ddlIssuedFor.SelectedIndex = 0; //ViewState["DDAIssuedFor"] = "binded"; //Added to avoid rebinding cannot move to !ispostback as we are calling dopostback from javascript to invoke as reqd here } } catch (Exception ex) { throw ex; } } #endregion