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