我有以下RadioButtons:
<asp:RadioButton id="rdoStandard" runat="server" Checked="true" GroupName="delivery" OnCheckedChanged="Check_Clicked" />
<asp:RadioButton ID="rdoExpress" runat="server" GroupName="delivery" OnCheckedChanged="Check_Clicked" />
<asp:RadioButton ID="rdoNextDay" runat="server" GroupName="delivery" OnCheckedChanged="Check_Clicked" />
在后面的代码中我有这个:
Protected Sub Check_Clicked(ByVal sender As Object, ByVal e As EventArgs) Handles rdoStandard.CheckedChanged, rdoExpress.CheckedChanged, rdoNextDay.CheckedChanged
RaiseEvent DeliveryOptionChanged()
End Sub
我已经尝试了上述方法,但也尝试了不同的方法,例如每个RadioButtons
的点击方法,我从未点击过Check_Clicked
方法。
我不想AutoPostBack
,如果你要发射一个事件,就不明白你为什么会这么想?
自从我使用VB
和WebForms以来已经有一段时间了,有人可以帮我解决这个问题吗?
答案 0 :(得分:5)
如果您想立即触发事件,则需要将AutoPostBack
设置为true,默认为false
。
<asp:RadioButton id="rdoStandard" AutoPostback="true" runat="server" Checked="true" GroupName="delivery" OnCheckedChanged="Check_Clicked" />
请注意,RadioButton
继承自CheckBox
,因此会从中继承AutoPostback
属性
编辑:如果您想避免回发,当您未将AutoPostback
设置为true时,也会在下一次往返服务器时引发此事件。例如,你可以使用一个提交按钮,Button和CheckBox的点击事件也是连续提升的。