记录一次因没有注意到page_load的错误:
过程: 勾选CheckBox列表数据,点击删除按钮,发现没法选中所勾选的数据。
代码:循环数据列表,获取勾选的数据,并做删除逻辑(checked属性)
foreach (GridViewRow dvr in this.GridView1.Rows)
{
HtmlInputCheckBox cb = (HtmlInputCheckBox)(dvr.FindControl("lblid"));
if (cb.Checked)
try
{
//删除数据逻辑
}
catch (MyAppException myex)
{
Response.Write("<script language='javascript'>alert('" + myex.Message + "')</script>");
}
}
然后就发现勾选了的数据checked属性依旧是false,一直再找是哪里重置了checked属性,然后发现是点击按钮时运行page_load 重新绑定了一遍数据,然后并没有做ispostback判断,导致选择属性被重置。
记录共勉之。