当前位置: 代码迷 >> ASP.NET >> viewstate和dropdownlist的一个小疑点
  详细解决方案

viewstate和dropdownlist的一个小疑点

热度:2220   发布时间:2013-02-25 00:00:00.0
viewstate和dropdownlist的一个小问题
Page_Load里   进行dropdownlist的数据绑定
for   (int   i   =   0;   i   <   10;   i++)
{
DropDownList1.Items.Add(new   ListItem(i.ToString()));
}
另有一个button获取其值
protected   void   Button1_Click(object   sender,   EventArgs   e)
        {
                Response.Write(DropDownList1.SelectedValue);
        }

可是如果禁用了viewstate的话,是获取不到值的...
大家都怎么解决的?不想打开viewstate

------解决方案--------------------------------------------------------
可是如果禁用了viewstate的话,是获取不到值的..
========
你取不到值?我为什么可以呢?

实际上即使你禁用ViewState的,也是可以的,
因为 DropDownList 实现了 IPostBackDataHandler ,其 SelectedValue 是每次回发都会回串的,并且保持选中状态

只是,你这段代码本身逻辑上就有问题,
Button1_Click 再 Page_Load 之后执行,那么 Button1_Cllick 获取的永远是第一项的值
  相关解决方案