我在ASPX中有以下radionbuttonlist:
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行以红色突出显示了上面的代码段。
编译器错误消息:CS1061:&#39; ASP.userForm_aspx&#39;不包含&#39; rblGender_SelectedIndexChanged&#39;的定义没有扩展方法&#39; rblGender_SelectedIndexChanged&#39;接受类型&#39; ASP.userForm_aspx&#39;的第一个参数。可以找到(你错过了使用指令或程序集引用吗?)
问题:我错过了什么或做错了什么?
在SO中还有其他关于此主题的问题,但可以使用.selectedValue
轻松修复它们。当我尝试我的时候,它给了我上面的错误。
答案 0 :(得分:1)
这是非常简单的更新您的onselectedindexchanged事件以指向btnTest_Click或设置您在onselectedindexchanged中命名的事件:rblGender_SelectedIndexChanged。错误只是说你没有正确连接事件。
答案 1 :(得分:1)
我实际上也找到了问题的原因。
由于"OnSelectedIndexChanged="rblGender_SelectedIndexChanged"
,他们希望我在C#中编写一个方法来处理radiobutton状态变化,但我没有将它包含在我的C#代码中。
当我删除它并写为:
<asp:RadioButtonList ID="rblGender" runat="server" RepeatDirection="Horizontal">
一切正常。