web-dev-qa-db-ja.com

HTMLラジオボタンから値を取得-aspx-c#

次の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();

しかし、うまくいきませんでした...

13
Nave Tseva

次のようにコードを配置します。

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

ご了承ください Request.Form["Gender"]は、RadioButtonがどれも選択されていない場合、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:buttonRequest.Form["Gender"]は、PostBackに何らかの値を設定します。ただし、いずれかのRadioButtonが選択されている場合に限ります。

はい、PostBackのみ、つまり、最初のロードではなく、いずれかのボタンを押したときです。

23
Manish Mishra

開始するには、フォームの投稿が必要です。フォームコレクションにはページの読み込みに何もありません。したがって、ボタンがあり、クリックしてフォームを送信すると、クリックイベントハンドラーで選択した値をコードで取得できますあなたが試しました。

コレクションはnullなので、アクセスするとNullReference例外が発生します。

次のようにアクセスすることをお勧めします

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

}
4
V4Vendetta

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;
2
Linus Caldwell

asp.netを使用している場合は、Request.FormによるHTMLコントロール名に、評価に使用する名前またはIDを含むこれらのct100 $が含まれていることを確認してください。以下の例を確認してください。

int rbratebyname = 0;

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