Cómo: Determinar la selección en controles List de servidor Web

Actualización: noviembre 2007

La información proporcionada en este tema se aplica a los controles de lista de servidor Web siguientes: ListBox, DropDownList, CheckBoxList y RadioButtonList.

Una de las tareas más comunes cuando se trabaja con controles de lista de servidor Web es determinar qué elementos seleccionaron los usuarios. El procedimiento varía dependiendo de si el control de lista permite selecciones simples o múltiples.

Utilice el siguiente procedimiento cuando trabaje con el control DropDownList, el control RadioButtonList o un control ListBox de selección simple.

Para determinar la selección en un control de lista de selección simple

  • Utilice uno de los métodos siguientes:

    • Para obtener el valor de índice del elemento seleccionado, lea el valor de la propiedad SelectedIndex. El índice está basado en cero. Si no hay nada seleccionado, el valor de la propiedad es -1.

    • Para obtener el contenido del elemento seleccionado, utilice la propiedad SelectedItem del control. Esta propiedad devuelve un objeto de tipo ListItem. Para obtener el contenido del elemento seleccionado, puede utilizar la propiedad Text o Value del objeto.

      Nota de seguridad:

      Los controles de páginas de formularios Web Forms podrían incluir secuencias de comandos de cliente malintencionadas. De forma predeterminada, la página de formularios Web Forms valida los datos escritos por el usuario para comprobar que no incluyen secuencias de comandos ni elementos HTML. Para obtener más información, vea Cómo: Proteger una aplicación Web frente a ataques mediante secuencias de comandos aplicando codificación HTML a las cadenas

    En el ejemplo siguiente se muestra cómo se puede comprobar qué elemento está seleccionado en un control RadioButtonList. El código determina primero si existe una selección, para lo cual lee el valor de la propiedad SelectedIndex, que será -1 hasta que el usuario seleccione un elemento. A continuación, obtiene el objeto SelectedItem y muestra la propiedad Text de este objeto.

    Protected Sub Button1_Click(ByVal sender As System.Object, _
            ByVal e As System.EventArgs) Handles Button1.Click
       ' Is anything selected? The index is -1 if nothing is selected.
       If RadioButtonList1.SelectedIndex > -1 Then
          Label1.Text="You chose: " & RadioButtonList1.SelectedItem.Text
       End If
    End Sub
    
    Protected void Button1_Click (object sender, System.EventArgs e)
    {
       // Is anything selected? The index is -1 if nothing is selected.
       if (RadioButtonList1.SelectedIndex > -1) {
          Label1.Text="You chose: " + 
              RadioButtonList1.SelectedItem.Text;
       }
    }
    

Si el control de lista admite selecciones múltiples, deberá recorrer el control y comprobar uno por uno si los elementos están seleccionados.

Para determinar la selección en un control de lista de selección múltiple

  • Recorra la colección Items del control y compruebe la propiedad Selected de cada uno de los elementos individuales.

    En el ejemplo siguiente se muestra cómo se comprueban las selecciones en un control ListBox de selección múltiple denominado ListBox1. El código muestra la lista de elementos seleccionados en una etiqueta.

    Protected Sub Button1_Click(ByVal sender As System.Object, _
           ByVal e As System.EventArgs) Handles Button1.Click
       Dim msg As String
       Dim li As ListItem
       msg = ""
       For Each li In ListBox1.Items
          If li.Selected = True Then
              msg = msg & "<br>" & li.Text & " selected."
          End If
       Next
       Label1.Text = msg
    End Sub
    
    Protected void Button1_Click(object sender, System.EventArgs e)
    {
       string msg = "" ;
       foreach(ListItem li in ListBox1.Items)
       {
          if(li.Selected == true)
             {
                msg += "<BR>" + li.Text + " is selected.";
             }
       }
       Label1.Text = msg;
    }
    

Vea también

Referencia

Información general sobre CheckBox y CheckBoxList (Controles de servidor Web)

Información general sobre DropDownList (Control de servidor Web)

Información general sobre ListBox (Control de servidor Web)

Información general sobre RadioButton y RadioButtonList (Controles de servidor Web)