Mám problém so získaním hodnoty typu vstupu = radio In c # Môj formulár je na hlavnej stránke nasledovne:
<form id="form1" runat="server">
<asp:ContentPlaceHolder id="head" runat="server">
</asp:ContentPlaceHolder>
<div class="header">
<asp:Label ID="DoctorName" runat="server" Text="" CssClass="Label"></asp:Label>
<asp:ImageButton ID="logout" ImageUrl="~/Logout.png" style ="float:right; margin-right:20px;" runat="server" Height="40" Width="30"/>
</div>
<div>
<asp:ContentPlaceHolder id="ContentPlaceHolder1" runat="server">
</asp:ContentPlaceHolder>
</div>
</form>
V mojej detskej stránke (c # file) som sa len snažil urobiťRequest.form ["MouvementYesNo"] ale vrátil hodnotu null, čo mám robiť ako inú metódu? mali by mať tieto dve tlačidlá rovnaké ID? alebo ako ich dostať podľa mena?
<li>
<label>Troubles du mouvement <span class="required">*</span></label>
<input type="radio" runat="server" name="MouvementYesNo" value="Yes" checked> Yes
<input type="radio" runat="server" name="MouvementYesNo" value="No"> No
</li>
odpovede:
1 pre odpoveď č. 1Pretože všetky prepínače HTML majú runat="server"
atribútu, čo znamená, že „sú prístupné z kódu za sebou, dávajú rôzne ID kontroly a používajú sa if
Skontrolujte, ktoré prepínač je vybraný.
Markup
<input id="RadioButton1" type="radio" runat="server" name="MouvementYesNo" value="Yes" checked> Yes
<input id="RadioButton2" type="radio" runat="server" name="MouvementYesNo" value="No"> No
Kód za sebou
protected void Button1_Click(object sender, EventArgs e)
{
if (RadioButton1.Checked == true)
{
// do something
}
else if (RadioButton2.Checked == true)
{
// do something else
}
// other stuff
}
Všimnite si, že ak chcete použiť Request.Form
, atribút kontroly servera HTML (t. j. runat="server"
) by sa mali odstrániť Request.Form
obsahuje hodnotu null, ak nie sú vybraté žiadne vstupné prvky rádiového tlačidla.
Poznámka:
Lepšie používať RadioButtonList
ovládanie servera takto:
<asp:RadioButtonList ID="MouvementYesNo" runat="server">
<asp:ListItem value="Yes">Yes</asp:ListItem>
<asp:ListItem value="No">No</asp:ListItem>
</asp:RadioButtonList>
Hodnotu prepínača, ktorý ste vybrali, môžete získať neskôr:
var selected = MouvementYesNo.SelectedValue;
Podobné vydanie:
Získanie hodnoty z prepínača html - v aspx-c #