【问题标题】:selected index of dropdown getting losing to zero after postback回发后,下拉列表的选定索引丢失为零
【发布时间】:2015-12-17 00:04:21
【问题描述】:

我有一个 asp.net 下拉菜单,其中 enableviewstate 为 false 我在不使用 ispostback 的情况下绑定页面加载中的下拉列表。

 protected void Page_Load(object sender, EventArgs e)
        {
              binddropdown();
        }

我已将 enableviewstate 设置为 false,因为我检查了很多视图状态信息存储在隐藏字段中。由于页面呈现缓慢。

当我更改下拉所选项目并单击提交按钮时。dropdownlist selectedindex 松散,因为在页面加载时我正在绑定下拉列表。

如何有效地使用视图状态和页面生命周期。

【问题讨论】:

    标签: c# asp.net


    【解决方案1】:

    您的代码的问题是,由于您禁用了下拉列表的ViewState,它无法保留这些项目,并且每次回发项目都被填充(显然我们将不得不像您已经在做的那样)。由于再次添加项目,您的下拉菜单再次重置,您无法获得所选值。

    恕我直言,您不应禁用下拉列表的ViewState。但是,如果您已经这样做了,那么您可以像这样使用表单集合设置选定的值:-

    只需在初始页面加载时绑定下拉菜单:-

     protected void Page_Load(object sender, EventArgs e)
     {
        binddropdown();
        if(IsPostBack)
         {
            DropDownList1.SelectedValue = Request.Form["DropDownList1"];
         }   
     }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-09-01
      • 2012-05-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-06
      相关资源
      最近更新 更多