0

我有一个基于 .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");
    }
}
4

3 回答 3

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 警报。

于 2013-06-20T17:09:30.873 回答
0

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

if(radioButtonList.SelectedValue == "Option 2")
{
string script = "alert('Warning: Selecting this option may release deadly neurotoxins');";
   ClientScript.RegisterClientScriptBlock(this.GetType(), "Alert", script, true);
}
于 2013-06-20T17:15:34.447 回答
0

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

$(document).ready(function () {
   $("#<%=radioButtonList.ClientID%> input").change(function(){
          alert('test');
   });
});
于 2013-06-20T18:45:18.237 回答