所选的下拉列表索引在回发后丢失为零

本文关键字:下拉列表 索引 | 更新日期: 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"];
     }   
 }