C# 下拉列表不在后续调用中更新所选项目
我有以下代码C# 下拉列表不在后续调用中更新所选项目,c#,asp.net,C#,Asp.net,我有以下代码 Page_Load () { if (!IsPostBack) { //data binding to ddl year } else { if (ViewState["ddlyear"] != null) { ddlyear.SelectedValue = ViewState["ddlyear"].ToString();
Page_Load () {
if (!IsPostBack)
{
//data binding to ddl year
} else {
if (ViewState["ddlyear"] != null)
{
ddlyear.SelectedValue = ViewState["ddlyear"].ToString();
}
}
}
ddlyear_SelectedIndexChanged {
ViewState["ddlyear"] = ddlyear.SelectedItem.Value.ToString();
}
这是错误
- “加载页面”选择ddlyear中的项,这将重新加载页面,并在ddl中正确显示该项
- 如果更改显示,则所选项目不会更改
ddlyear.SelectedItem.Value.ToString()上设置断点代码>该值实际上从未在第一次调用时更改。它将更改一次“选定项目”值,但即使在后续页面调用中选择了其他项目,也不会更改
i、 e
首页加载-年=1000
换一个选项,比如1001
页面重新加载,ddlyear=1001
换一个选项,比如1002
页面重新加载,ddlyear=1001非1002
默认情况下,DropDownList
将维护其SelectedItem
您不需要为此编写任何代码。删除您添加的代码,它应该像您期望的那样工作
如果您想知道代码失败的原因,那是因为Load
事件在调用任何事件处理程序之前触发。在这里,您将所选值重置为视图状态中的值