Partager via


Comment : déterminer la sélection dans un contrôle serveur Web List

Mise à jour : novembre 2007

Les informations de cette rubrique s'appliquent aux contrôles serveur Web suivants : ListBox, DropDownList, CheckBoxList et RadioButtonList.

L'une des tâches les plus courantes lorsque vous travaillez avec un contrôle serveur Web de liste consiste à déterminer le ou les éléments que les utilisateurs ont sélectionnés. La procédure varie selon que le contrôle de liste autorise une sélection unique ou multiple.

Utilisez la procédure suivante lorsque vous travaillez avec le contrôle DropDownList, le contrôle RadioButtonList et un contrôle ListBox à une seule sélection.

Pour déterminer la sélection dans un contrôle de liste à une seule sélection

  • Utilisez l'une des méthodes suivantes :

    • Pour obtenir la valeur d'index de l'élément sélectionné, lisez la valeur de la propriété SelectedIndex. L'index est de base zéro. Si rien n'a été sélectionné, la valeur de la propriété est -1.

    • Pour obtenir le contenu de l'élément sélectionné, obtenez la propriété SelectedItem du contrôle. Cette propriété retourne un objet de type ListItem. Vous pouvez obtenir le contenu de l'élément sélectionné grâce à la propriété Text ou Value de l'objet.

      Note de sécurité :

      Les contrôles dans une page Web Forms peuvent inclure un script client nuisible. Par défaut, la page Web Forms valide les entrées d'utilisateur qui n'incluent pas de script ou d'éléments HTML. Pour plus d'informations, consultez Comment : se protéger contre les attaques de script dans une application Web en utilisant le codage HTML

    L'exemple de code suivant montre comment vous pouvez tester et savoir quel élément est sélectionné dans un contrôle RadioButtonList. Le code détermine d'abord s'il y a ou non une sélection en lisant la valeur de la propriété SelectedIndex, à laquelle est affectée la valeur -1 jusqu'à ce que l'utilisateur sélectionne un élément. Il obtient alors l'objet SelectedItem dont il affiche la propriété Text.

    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 le contrôle de liste prend en charge des sélections multiples, vous devez parcourir le contrôle et vérifier les éléments sélectionnés un par un.

Pour déterminer la sélection dans un contrôle de liste à sélection multiple

  • Parcourez la collection Items du contrôle et testez la propriété Selected de chaque élément.

    L'exemple suivant montre comment vous pouvez tester les sélections dans un contrôle ListBox à sélection multiple appelé ListBox1. Le code affiche une liste des éléments sélectionnés dans une étiquette.

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

Voir aussi

Référence

Vue d'ensemble des contrôles serveur Web CheckBox et CheckBoxList

Vue d'ensemble du contrôle serveur Web DropDownList

Vue d'ensemble du contrôle serveur Web ListBox

Vue d'ensemble des contrôles serveur Web RadioButton et RadioButtonList