从html单选按钮获取值-在aspx-c#

本文关键字:aspx-c# 获取 html 单选按钮 | 更新日期: 2023-09-27 18:06:21

我有以下HTML源代码

<form name="Register1" action="Register.aspx" id="registerform" method="post" 
      runat="server" style="margin-top: 15px;">
    <input type="radio" name="Gender" value="male" />male
    <input type="radio" name="Gender" value="female" />female
</form>

我的问题是如何在c#页面中获得选定的值到变量?

我试过了:

Gender = Request.Form["Gender"].ToString();

从html单选按钮获取值-在aspx-c#

这样放置代码:

 if (Request.Form["Gender"] != null)
 {
     string selectedGender = Request.Form["Gender"].ToString();
 }

注意,如果没有选择任何一个radiobutton, Request.Form["Gender"]将为null。

见下面的标记

<form id="form1" runat="server" method="post">
    <input type="radio" name="Gender" value="male" id="test" checked="checked" />
    male
    <input type="radio" name="Gender" value="female" />female
    <input type="submit" value="test" />
    <asp:Button ID="btn" runat="server" Text="value" />
</form>

对于两个按钮,即input type="submit"和通常的asp:button, Request.Form["Gender"]将对PostBack有一些值,前提是其中一个RadioButtons被选中。

是的,仅在PostBack上,即当您点击任何一个按钮而不是第一次加载时。

首先,您将需要表单张贴的表单集合不会有任何页面加载,所以假设你有一个按钮,你点击提交表单,然后在点击事件处理程序,你可以得到选定的值与你已经尝试过的代码。

我猜集合是空的,因此当你访问它的NullReference异常。

最好像

这样访问
if(!string.IsNullOrEmpty(Request.Form["Gender"]))
{
}

使用RadioButtonList

<asp:RadioButtonList id="RadioButtonList1" runat="server">
    <asp:ListItem value="male">male</asp:ListItem>
    <asp:ListItem value="female">female</asp:ListItem>
</asp:RadioButtonList>
并使用 获取值
RadioButtonList1.SelectedValue;

如果您正在使用asp.net,请确保HTML控件名称由请求。表单包含这些ct100$,其中包含您正在评估的名称或id。查看下面的示例。

int rbratebyname = 0;
if (Request.Form["ctl00$ContentPlaceHolder1$rate"] != null)
{
    rbratebyname = int.Parse(Request.Form["ctl00$ContentPlaceHolder1$rate"]);
}