【问题标题】:ASP.NET Get value from RadiobuttonlistASP.NET 从 Radiobuttonlist 获取值
【发布时间】:2015-07-10 00:30:11
【问题描述】:

我在 ASPX 中有以下单选按钮列表:

Line 62:    <td class="auto-style6">2 Gender</td>
Line 63:    <td>
Line 64:    <asp:RadioButtonList ID="rblGender" runat="server" RepeatDirection="Horizontal" OnSelectedIndexChanged="rblGender_SelectedIndexChanged">
Line 65:        <asp:ListItem Value="Male">Male</asp:ListItem>
Line 66:            <asp:ListItem Value="Female">Female</asp:ListItem>
Line 67:        </asp:RadioButtonList>
Line 68:    </td>

我正在尝试获取选中的单选按钮(男/女)的选定值,并在单击按钮时将其显示在文本字段中。

我认为这应该是一件很简单的事情,并且我在 c# 中有以下代码。

protected void btnTest_Click(object sender, EventArgs e)
{
    txtGender.Text = rblGender.SelectedValue;
}

一切都可以编译没有任何错误。但是,当我在浏览器中运行 Web 表单并单击 btnTest 时,浏览器显示以下错误: 它还在 第 64 行 用红色突出显示了上述代码 sn-p。

编译器错误消息:CS1061:“ASP.userForm_aspx”不包含“rblGender_SelectedIndexChanged”的定义,并且没有接受“ASP.userForm_aspx”类型的第一个参数的扩展方法“rblGender_SelectedIndexChanged”可能是找到(您是否缺少 using 指令或程序集引用?)

问题:我错过了什么或做错了什么?

在 SO 中还有关于这个主题的其他问题,但是可以使用 .selectedValue 轻松解决他们的问题。当我尝试我的时,它给了我上述错误。

【问题讨论】:

    标签: c# asp.net radiobuttonlist


    【解决方案1】:

    这是非常简单的更新您的 onselectedindexchanged 事件以指向 btnTest_Click 或设置您在 onselectedindexchanged 中命名的事件:rblGender_SelectedIndexChanged。错误只是说您没有正确连接事件。

    【讨论】:

    • 是的,我也刚刚发现。不过我还有一些问题。我可以删除那些“onselectedindexchanged”的东西吗?删除它是否安全?我试过了,它没有问题。我的意思是,按照惯例,如果我不会检测到单选按钮状态更改,我可以将其删除吗?
    • 您可以将其删除,并且不会在每次更改时触发该事件,然后在任何其他事件上进行相同的调用以获取 SelectedValue。请标记为已回答:)
    • 虽然我也找到了根本原因,但是你回答了我的问题,你也找到了原因。我会接受你的回答。并为您的回复 +1。您也可以 +1 我的解决方案! =P
    【解决方案2】:

    其实我也找到了问题的原因。

    因为"OnSelectedIndexChanged="rblGender_SelectedIndexChanged",他们希望我用 C# 编写一个方法来处理单选按钮状态更改,但我没有在我的 C# 代码中包含它。

    当我删除它并写为:

    <asp:RadioButtonList ID="rblGender" runat="server" RepeatDirection="Horizontal">
    

    一切正常。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-12-26
      • 1970-01-01
      • 2013-03-15
      • 2011-12-16
      • 2020-05-27
      • 2012-03-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多