2010-03-04 14 views
29

tengo código de abajo:Cómo obtener el valor de un html seleccionado seleccione con asp.net

<select id="testSelect"> 
    <option value="1">One</option> 
    <option value="2">Two</option> 
</select> 
<asp:Button ID="btnTest" runat="server" Text="Test it!" onclick="btnTest_Click" /> 

que necesito para obtener el valor seleccionado opciones en la devolución de datos. ¿Cómo puedo hacer esto con asp.net?

+1

Genial ... ¿Qué hay de los valores múltiples ??? –

Respuesta

39

es necesario agregar un nombre a su elemento <select>:

<select id="testSelect" name="testSelect"> 

Se ha publicado en el servidor y se puede ver usando:

guión
Request.Form["testSelect"] 
+0

Muchas gracias. –

+1

No hay problema. Pontus hace un punto válido sobre el uso de un menú desplegable del lado del servidor, si es posible, pero supuse que tenía una buena razón para no usarlo. – Kobi

+0

Cualquier suerte con múltiples valores seleccionados por el usuario? –

1

Java:

use la función elementid. selectedIndex() para obtener el índice seleccionado

6

Si usa asp:dropdownlist, puede seleccionarlo más fácilmente por testSelect.Text.

Ahora tendría que hacer un Request.Form["testSelect"] para obtener el valor después de presionar btnTes.

Espero que ayude.

EDIT: Es necesario especificar un name de la selección (no sólo ID) para poder Request.Form["testSelect"]

0
<%@ Page Language="C#" AutoEventWireup="True" %> 
<!DOCTYPE html> 
<html xmlns="http://www.w3.org/1999/xhtml">  
<head> 
    <title> HtmlSelect Example </title> 
    <script runat="server"> 
     void Button_Click (Object sender, EventArgs e) 
     { 
     Label1.Text = "Selected index: " + Select1.SelectedIndex.ToString() 
         + ", value: " + Select1.Value;  
     }  
    </script>  
</head>  
<body>  
    <form id="form1" runat="server"> 

     Select an item: 

     <select id="Select1" runat="server">  
     <option value="Text for Item 1" selected="selected"> Item 1 </option> 
     <option value="Text for Item 2"> Item 2 </option> 
     <option value="Text for Item 3"> Item 3 </option> 
     <option value="Text for Item 4"> Item 4 </option> 
     </select> 

     <button onserverclick="Button_Click" runat="server" Text="Submit"/> 

     <asp:Label id="Label1" runat="server"/>  
    </form> 
</body> 
</html> 

Fuente de Microsoft. Espero que esto sea útil!

+1

¿Ves una directiva runat server en mi código? –

4

He utilizado esta solución para obtener lo que necesita.

Let'say que en mi código .aspx hay una lista de selección runat = "server":

<select id="testSelect" runat="server" ClientIDMode="Static" required> 
    <option value="1">One</option> 
    <option value="2">Two</option> 
</select> 

En mi código C# utilicé por debajo del código para recuperar el texto y también el valor de las opciones:

testSelect.SelectedIndex == 0 ? "uninformed" : 
    testSelect.Items[testSelect.SelectedIndex].Text); 

En este caso, verifico si el usuario seleccionó alguna de las opciones. Si no hay nada seleccionado, muestro el texto como "desinformado".

+0

Como puede ver, la pregunta es sobre un atributo de selección sin servidor runat. –

+0

sí, lo sé, solo estaba mostrando otro enfoque para lograr el mismo resultado. Gracias por el comentario =) –

Cuestiones relacionadas