ASP.NET 从 Radiobuttonlist 获取值

ASP.NET Get value from Radiobuttonlist

我在 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>

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

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

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

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

Compiler Error Message: CS1061: 'ASP.userForm_aspx' does not contain a definition for 'rblGender_SelectedIndexChanged' and no extension method 'rblGender_SelectedIndexChanged' accepting a first argument of type 'ASP.userForm_aspx' could be found (are you missing a using directive or an assembly reference?)

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

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

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

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

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

当我删除它并写为:

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

一切正常。