OnCheckedChanged事件在每次不同控件的回發時觸發。我怎樣才能防止它?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.*/
}
同樣的問題被要求在此post,但我沒有得到它。 請幫助。
如果複選框已更改,則該事件將在每次回發時觸發,但無法阻止該事件。如果您想更改複選框以導致回發,請在複選框上設置AutoPostBack =「true」。 – 2014-09-23 10:23:10
該事件按預期觸發複選框,但它也在每次不同控件的回發時觸發。像點擊Linkbutton也會調用Checkbox的onCheckedChanged事件。 – 2014-09-23 10:27:06
點擊一個Linkbutton不會觸發CheckChanged,即使是複選框(除非您還將它連接到linkbutton點擊事件或類似事件),但是如果複選框自上次回發後發生更改,則該事件將在下一個回傳中觸發,而不管哪個控件導致回發。 – 2014-09-23 10:32:15