OnCheckedChanged正在处理每个回发事件.如何防止这种情况发生
本文关键字:何防止 情况 事件 OnCheckedChanged 处理 | 更新日期: 2023-09-27 18:23:58
OnCheckedChanged事件在不同控件的每次回发时都会触发。我该如何预防?
就像我想要的那样,onCheckedChanged应该只适用于复选框。如何防止其他控件在回发时触发此事件?
aspx:
<asp:TemplateField HeaderText="Show on Order"
HeaderStyle-HorizontalAlign="left" ItemStyle-HorizontalAlign="center"
ItemStyle-Width="15%">
<ItemTemplate>
<asp:CheckBox ID="chkShowOnOrder" runat="server" AutoPostBack="true"
Checked='<%# Bind("Show_Order") %>'
OnCheckedChanged="chkShowOnOrder_CheckedChanged"
ToolTip='<%# Bind("Document_ID") %>'>
</asp:CheckBox>
</ItemTemplate>
</asp:TemplateField>
C#
protected void chkShowOnOrder_CheckedChanged(object sender, EventArgs e)
{
CheckBox checkbox = (CheckBox)sender;
int docID = Convert.ToInt32(checkbox.ToolTip);
TableRow tr = (TableRow)checkbox.Parent.Parent;
/*Some other code below.*/
}
同样的问题也被问到了,但我没有得到。请帮忙。
根据单选按钮检查更改的事件触发两次您可以验证是哪个控件导致CheckedChanged事件激发,如下所示
protected void chkShowOnOrder_CheckedChanged(object sender, EventArgs e)
{
CheckBox cb= sender as CheckBox ;
if (cb != null && cb.ID=="chkShowOnOrder")
{
//Your code here
}
}
您可以检查的值
Request.Form["__EVENTTARGET"]
要知道是哪个控件触发了事件。因此,可以对使用该值进行检查。