13

我有以下 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();

但它没有用...

4

4 回答 4

24

像这样放置您的代码:

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

请注意,Request.Form["Gender"]如果未选择任何 RadioButtons,则该值将为 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>

对于按钮 ieinput type="submit"和通常asp:buttonRequest.Form["Gender"]将在 上具有一些值PostBack,前提是选择了 RadioButtons 中的任何一个。

是的,PostBack仅当您按下任何一个按钮而不是第一次加载时。

于 2013-03-29T09:09:07.230 回答
4

首先,您需要发布表单,表单集合在页面加载时不会有任何内容,因此假设您有一个按钮并单击以提交表单,然后在单击事件处理程序中您可以使用代码获取所选值你试过了。

我猜这个集合是空的,因此当你访问它时会出现 NullReference 异常。

最好像这样访问它

if(!string.IsNullOrEmpty(Request.Form["Gender"]))
{

}
于 2013-03-29T09:11:57.367 回答
2

用一个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;
于 2013-03-29T09:00:30.680 回答
0

如果您正在使用 asp.net,请确保 Request.Form 的 HTML 控件名称包含这些 ct100$ 以及您正在评估的名称或 id。检查下面的例子。

int rbratebyname = 0;

if (Request.Form["ctl00$ContentPlaceHolder1$rate"] != null)
{
    rbratebyname = int.Parse(Request.Form["ctl00$ContentPlaceHolder1$rate"]);
}
于 2016-11-18T17:49:23.600 回答