wake-up-neo.net

Wert aus dem HTML-Optionsfeld holen - in aspx-c #

Ich habe die folgende HTML-Quelle

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

Meine Frage ist, wie ich den ausgewählten Wert auf der c # -Seite als Variable erhalten kann.

Ich habe das versucht: 

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

Aber es hat nicht funktioniert ...

13
Nave Tseva

platziere deinen Code so:

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

Beachten Sie, dass Request.Form["Gender"] null ist, wenn keine der RadioButtons ausgewählt ist.

siehe die Markierung unten

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

für beide Tasten, d. h. input type="submit" und für den üblichen asp:button, hat Request.Form["Gender"] einen Wert bei PostBack, vorausgesetzt, einer der RadioButtons ist ausgewählt.

Und ja, nur bei PostBack, d. H. Wenn Sie eine der Tasten drücken und nicht beim ersten Laden.

22
Manish Mishra

Um mit zu beginnen, muss das Formular veröffentlicht werden. Die Formularsammlung enthält keine Elemente zum Laden der Seite. Nehmen Sie an, Sie haben eine Schaltfläche und Sie klicken, um das Formular zu senden. Dann können Sie im Click-Ereignishandler den ausgewählten Wert mit dem Code erhalten Du hast es versucht.

Ich denke, die Sammlung ist null, daher die NullReference-Ausnahme, wenn Sie darauf zugreifen.

Es ist besser, darauf zuzugreifen

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

}
4
V4Vendetta

Verwenden Sie eine RadioButtonList

<asp:RadioButtonList id="RadioButtonList1" runat="server">
    <asp:ListItem value="male">male</asp:ListItem>
    <asp:ListItem value="female">female</asp:ListItem>
</asp:RadioButtonList>

und hol den Wert mit

RadioButtonList1.SelectedValue;
2
Linus Caldwell

wenn Sie mit asp.net arbeiten, stellen Sie sicher, dass der Name des HTML-Steuerelements von Request.Form diese ct100 $ mit dem Namen oder der ID enthält, anhand derer Sie beurteilen. Überprüfen Sie das Beispiel unten.

int rbratebyname = 0;

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