在GridView中,oncheckedchanged没有为CheckBox触发

时间:2013-03-06 20:51:32

标签: c# asp.net gridview oncheckedchanged

我正在尝试为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。)

提前感谢!

1 个答案:

答案 0 :(得分:1)

如果要在每次加载页面时重新绑定gridview,那么您正在破坏CheckChanged事件的有状态。重新绑定网格时,它会使页面上一个“版本”中的所有控件无效。

您需要添加if (!IsPostBack)作为条件,以防止GridView重新绑定。