原问题:
if(!Page.IsPostBack)
{
....
this.DropDownList1.DataSource=this.sqlCommand1.ExecuteReader();
this.DropDownList1.DataBind();
}
怎么在postback后又执行了一遍 Databind啊?哎,折腾了一天了
这样的话就无法取道dropdownlist改变的值了,因为每次postback后又重新databind,值又还原了?
回答:
if(!Page.IsPostBack)
{
....
this.DropDownList1.DataSource=this.sqlCommand1.ExecuteReader();
this.DropDownList1.DataBind(); //这里的代码在postback时是不会执行的
}
如果发生上面的情况看看是不是DropDownList1所有项的vale值是一样的,DropDownList只将vale值保存在viewstate中,并以此来决定postback后的选项