所选的下拉列表索引在回发后丢失为零
本文关键字:下拉列表 索引 | 更新日期: 2023-09-27 18:27:06
我有一个asp.net下拉列表,enableviewstate为false我正在页面加载中绑定该下拉列表,而不使用ispostback。
protected void Page_Load(object sender, EventArgs e)
{
binddropdown();
}
我已经将enableviewstate设置为false,因为我检查了很多视图状态信息存储在隐藏字段中。
当我更改下拉列表中所选的项目并单击提交按钮时。下拉列表中选择的是松散的索引,因为在页面加载时我正在绑定下拉列表。
如何有效地使用视图状态和页面生命周期。
代码的问题是,由于您禁用了下拉列表的ViewState
,因此无法保留项目,并且在每次回发时都会填充项目(显然,我们将不得不像您已经做的那样)。由于项目被再次添加,您的下拉列表将再次重置,您无法获得所选值。
IMHO您不应该禁用下拉列表的ViewState
。但是,如果你已经这样做了,那么你可以使用这样的表单集合来设置所选的值:-
只需在初始页面加载时绑定下拉列表:-
protected void Page_Load(object sender, EventArgs e)
{
binddropdown();
if(IsPostBack)
{
DropDownList1.SelectedValue = Request.Form["DropDownList1"];
}
}