更改选项时如何检查RadioButtonList?

时间:2013-06-20 17:07:25

标签: asp.net forms .net-4.0 radio-button radiobuttonlist

我有一个基于.NET / ASP.NET的表单,它使用RadioButtonList,默认情况下,没有选择任何选项:

<%@ Control Language="C#" AutoEventWireup="true" CodeFile="Rb.ascx.cs" Inherits="Rb" %>
<table><tr><td align="left">
<asp:RadioButtonList ID="radioButtonList" runat="server">
</asp:RadioButtonList>
</td><td valign="top">
<asp:RequiredFieldValidator ID="radioButtonListValidator" runat="server" ControlToValidate="radioButtonList" ErrorMessage=": Please select an option." Text="*" ValidationGroup="validate">
</asp:RequiredFieldValidator>
</td></tr>
</table>

对于列表中的一个选项,一旦选中,我想生成一个警告消息框(而不是使用某种描述标签或验证错误消息)。据我所知,没有像_SelectChanged这样的事件处理程序。我想知道如何实现这样的功能来获得这样的东西(下面是半伪代码,因为我不知道如何编码我想要的东西,因为看似缺少我想要的事件处理程序):

public override void radioButtonList_SelectionChanged(Object sender, EventArgs e)
{
    if(radioButtonList.SelectedItem == "Option 2") //Where 'Option 2' is displayed on the actual form next to the radio button
    {
        Messagebox.Show("Warning: Selecting this option may release deadly neurotoxins");
    }
}

3 个答案:

答案 0 :(得分:1)

正确的方法是检查列表控件上所选项目的Value属性。 你可以使用SelectedValue属性,尝试这样的事情:

if(radioButtonList.SelectedValue == "Option 2")
{
   Messagebox.Show("Warning: Selecting this option may release deadly neurotoxins")
}

您还可以使用SelectedItem.Text属性进行检查。

if(radioButtonList.SelectedItem.Text == "Option 2")
{
   Messagebox.Show("Warning: Selecting this option may release deadly neurotoxins")
}

如果你在asp.net上,你没有Messagebox.Show,你应该使用javascript警报。

答案 1 :(得分:0)

试试这个。我希望它有所帮助。

if(radioButtonList.SelectedValue == "Option 2")
{
string script = "alert('Warning: Selecting this option may release deadly neurotoxins');";
   ClientScript.RegisterClientScriptBlock(this.GetType(), "Alert", script, true);
}

答案 2 :(得分:0)

你可以使用jquery来解决这个问题。它更容易。这是一个示例代码。

$(document).ready(function () {
   $("#<%=radioButtonList.ClientID%> input").change(function(){
          alert('test');
   });
});