今天在修改以前的asp项目时遇到一个很莫名其妙的问题,编辑表单数据保存后就再也无法修改其中的asp:DropDownList的值,只有第一次保存可以正确取到值,之后再修改无论如何也更改不了它的选中值,百度了半天才发现原来asp是每次都会Post数据都会执行Page_Load方法,而由于我将FillFrom方法写在了if(!IsPostBack)外面导致提交保存的时候,又重新执行了FillFrom方法,导致每次保存结果都是上次保存的内容。
解决方法:将FillFrom方法写到if(!IsPostBack)里面
在Page_Load函数中:
protected void Page_Load(object sender, EventArgs e)
{
if(!IsPostBack)
{
FillFrom();//数据绑定方法
}
}