使用ASP:RadioButton触发OnCheckedChanged事件

时间:2012-05-02 09:50:30

标签: vb.net events radio-button oncheckedchanged

我有以下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以来已经有一段时间了,有人可以帮我解决这个问题吗?

1 个答案:

答案 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的点击事件也是连续提升的。