关于if(e.Row.RowType == DataControlRowType.DataRow)的一个问题

if (e.Row.RowType == DataControlRowType.DataRow)用来判断当前行是否为数据行,但是小弟在给GridView的TemplateField中的ItemTemplate里面的checkbox绑定一个onclick事件时,发现最后一行的checkbox没有被绑定onclick(点击页面上的checkbox无事件响应,页面源代码也无事件),后来将if中的条件改为if (e.Row.RowType == DataControlRowType.DataRow||e.Row.RowType == DataControlRowType.Footer)就正常了,但是,小弟还是不明白为什么,有哪位大哥能帮忙解释一下,谢谢。

森栏
浏览 520回答 1
1回答

一只斗牛犬

貌似模板内按钮事件是无法像平常那样触发的,需要靠gridview的click事件来触发,我以前也遇到这样的问题,你添加了e.Row.RowType == DataControlRowType.Footer这一句应该是当你点击到gridview的footer部分时才会有效,点数据区域可能是无效的,貌似应该是设置成触发了click事件,并且点击区域在checkbox那一列来设置才能很好的解决事件的触发。
打开App,查看更多内容
随时随地看视频慕课网APP