OnCheckedChanged事件根本没有在GridView中触发
我在TemplateField中有一个带有asp CheckBox的GridView。 TemplateField定义如下:
当我在MyCheckChangedMethod中使用断点运行我的Web项目并单击该复选框时没有任何反应。 断点没有被击中。 我的Visual Studio调试器正在运行。
另外,我的页面定义中有AutoEventWireup = True,所以我不必手动挂钩事件。 我以前从来没有遇到过这样做的问题。 我在同一页面上有一个按钮设置与点击事件完全相同的方式,断点得到了很好的打击。
有任何想法吗?
复选框控件的回发事件将无法正确触发,因为它在GridView中会破坏控件的ID。
如果需要Checkbox来反映数据,可以使用CheckBoxField对象并以此方式绑定。
如果需要它为该行执行操作,您可能希望使用CommandName属性和RowCommand事件查看ButtonField对象。
有一些方法可以访问GridView服务器端的复选框 。
您需要在asp:CheckBox
标记中添加AutoPostback = True
。
在触发控件事件之前调用DataBind
时会发生此问题。 如果在Page_Load
调用DataBind
,则将其放入if (!isPostBack) {}
并在事件处理程序本身中调用DataBind
。
尝试:
确保aspx页面顶部有CodeFile =“YOUR_FILE.aspx.cs”。
还要确保您的函数MyCheckChangedMethod被定义为
函数应该有对象发送者,EventArgs e。
public void MyCheckChangedMethod(object sender, EventArgs e) { bool b = false;//your data here }
还要确保web.config的调试设置为true(想想已经完成)。