我正在尝试为OnCheckedChanged
中的asp:CheckBox
事件触发,该事件位于GridView中。但是,当我将它放入GridView时,它不会触发代码隐藏中的OnCheckedChanged。
如果我在gridview之外放置相同的复选框,那就完全没问了。
我尝试将该功能设置为RowCommand
,但也无效。
这是我的复选框:
<asp:CheckBox ID="HoldBillingCheckBox" runat="server" key='<%# Eval("CustomerItemID") %>' Checked='<%# Eval("HoldBilling") %>' OnCheckedChanged="CustomerItemsGridView_CheckChanged" Enabled="true" EnableViewState="true" AutoPostBack="true"/>
在我看来,这只会在您尝试使用任何视图包装CheckBox时发生。
有没有人有任何建议?我搜索了很多不同的解决方案,但似乎没有任何效果(它们主要是告诉我将AutoPostBack
添加为true
...或将enableviewstate添加为true。)
提前感谢!
答案 0 :(得分:1)
如果要在每次加载页面时重新绑定gridview,那么您正在破坏CheckChanged
事件的有状态。重新绑定网格时,它会使页面上一个“版本”中的所有控件无效。
您需要添加if (!IsPostBack)
作为条件,以防止GridView重新绑定。