obtener el valor de un dropdownlist asp net c#
Obtener valor del botón de opción html-en aspx-c# (4)
Para empezar necesitará el formulario publicado, la colección de Formularios no tendrá nada en la carga de la página, así que suponga que tiene un botón y hace clic para enviar el formulario, luego en el controlador de eventos click puede obtener el valor seleccionado con el código lo has intentado.
Supongo que la colección es nula, por lo tanto, la excepción NullReference cuando accedes a ella.
Es mejor acceder a ella como
if(!string.IsNullOrEmpty(Request.Form["Gender"]))
{
}
Tengo la siguiente fuente 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>
Mi pregunta es ¿cómo puedo obtener el valor seleccionado como variable en la página c #?
Intenté esto:
Gender = Request.Form["Gender"].ToString();
Pero no funcionó ...
Use una RadioButtonList
<asp:RadioButtonList id="RadioButtonList1" runat="server">
<asp:ListItem value="male">male</asp:ListItem>
<asp:ListItem value="female">female</asp:ListItem>
</asp:RadioButtonList>
y obtener el valor con
RadioButtonList1.SelectedValue;
coloca tu código así:
if (Request.Form["Gender"] != null)
{
string selectedGender = Request.Form["Gender"].ToString();
}
Tenga en cuenta que Request.Form["Gender"]
será nulo si no se selecciona ninguno de los RadioButtons.
ver el marcado a continuación
<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>
para ambos botones, es decir, input type="submit"
y asp:button
habitual asp:button
Request.Form["Gender"]
va a tener algún valor en PostBack
, siempre que se seleccione cualquiera de los RadioButtons.
Y sí, solo en PostBack
, es decir, cuando presiona cualquiera de los botones y no en la primera carga.
si está trabajando con asp.net, asegúrese de que el nombre de control HTML de Request.Form contenga estos ct100 $ con el nombre o id. que está evaluando. mira el ejemplo de abajo
int rbratebyname = 0;
if (Request.Form["ctl00$ContentPlaceHolder1$rate"] != null)
{
rbratebyname = int.Parse(Request.Form["ctl00$ContentPlaceHolder1$rate"]);
}