두 개의 드롭 다운 목록 (ddl1, ddl2)과 두 개의 드롭 다운 목록 (gddl1, gddl2)이있는 gridview가 있습니다. SelectedIndexChanged
에서 ddl1 이벤트가 포스트 백에서 gddl1의 SelectedIndex
을 변경합니다.Dropdownlist 포스트 백에서 선택된 값
내 문제는 입니다. 버튼의 클릭 이벤트에서 ddl1.databind()가 발생합니다. 따라서 ddl1의 선택된 인덱스가 변경되면 선택한 값이 손실되고 초기 값으로 돌아갑니다.
버튼 클릭시 ddl1 바인딩이므로 !IsPostback
을 사용할 수 없습니다. 선택한 색인을 ddl1 및 ddl2로 유지하는 방법은 무엇입니까?
protected void btnProceed_Click(object sender, EventArgs e)
{
if(ddlLocation.SelectedIndex > -1) {
empDS = ws_service.GetEmpList(ddlLocation.SelectedValue, ((ddlDept.SelectedValue == "All") ? "" : ddlDept.SelectedValue), ((ddlGrade.SelectedValue == "All") ? "" : ddlGrade.SelectedValue));
appraiserDS = ws_service.GetAppList();
grdDetails.DataSource = empDS.Tables[ 0 ].DefaultView;
grdDetails.DataBind();
ddlAppraiserAll.DataSource = appraiserDS.Tables[ 0 ].DefaultView;
ddlAppraiserAll.DataTextField = "APPRAISER_NAME";
ddlAppraiserAll.DataValueField = "APPRAISER_ID";
ddlAppraiserAll.DataBind();
}
}
protected void ddlAppraiserAll_SelectedIndexChanged(object sender, EventArgs e)
{
foreach(GridViewRow gvRow in grdDetails.Rows) {
Control ctrl = gvRow.FindControl("ddlAppraiserId");
DropDownList ddl = ctrl as DropDownList;
if(ddl != null)
ddl.SelectedIndex = ddlAppraiserAll.SelectedIndex;
}
}
코드를 알려주십시오. –
코드를 업데이트했습니다. – itzArun
@ itzArun : 비동기 포스트 백으로 업데이트 패널을 사용하십시오. – Rocky