在工程中难免遇到很细小的问题,这次是GridView和CheckBox的问题。在GridView的一列放CheckBox用来选择这一行记录。CheckBox的状态默认是false也就是未选中。但在测试删除功能的时候,选中某一条或多条或全选,均无法删除。起初我认为是Linq
to
Sql这里出了问题,毕竟没怎么接触过,后来调试单步执行了下才发现,是CheckBox选中的状态没有获取,也就是你选了,他的状态还是false。好吧,查了很多,终于发现了原因:在绑定GridView时,没有判断是不是第一次绑定。即没有加上这么一句if
(!Page.IsPostBack){bindgridview()},这样一来,每次我点击删除按钮,服务器响应后都要重新绑定一次GridView,这样的话,刚被选中的CheckBox又被置为未选择,状态标识还是false,因此执行不到删除的那段代码。