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

Mise à jour : novembre 2007

Les contrôles CheckBox et CheckBoxList offrent un moyen aux utilisateurs de spécifier un choix oui/non (vrai/faux).

Cette rubrique contient les sections suivantes :

  • Fonctionnalités

  • Contexte

  • Exemples de code

  • Référence de classe

Fonctionnalités

Vous pouvez utiliser les contrôles CheckBox et le CheckBoxList pour :

  • déclencher une publication (postback) de page lorsqu'une case à cocher est activée ;

  • intercepter une intervention utilisateur lorsqu'un utilisateur active une case à cocher ;

  • lier chaque case à cocher aux données d'une base de données.

Retour au début

Contexte

Vous pouvez utiliser deux types de contrôles serveur Web pour ajouter des cases à cocher sur une page Web ASP.NET : des contrôles CheckBox individuels ou un contrôle CheckBoxList. Les deux contrôles offrent un moyen aux utilisateurs de spécifier un choix oui/non (vrai/faux).

Vous ajoutez des contrôles CheckBox individuels à une page et travaillez avec eux séparément. Vous pouvez aussi utiliser CheckBoxList, contrôle unique qui agit comme contrôle parent d'une collection d'éléments de liste de cases d'option. Il est dérivé de la classe ListControl de base et a donc un fonctionnement très proche des contrôles serveur Web ListBox, DropDownList, RadioButtonList et BulletedList. La plupart des procédures d'utilisation du contrôle CheckBoxList sont identiques à celles des autres contrôles serveur de liste.

Les deux types de contrôles ont leurs avantages. L'utilisation des contrôles CheckBox individuels vous laisse plus de liberté quant à la présentation des cases à cocher sur la page par rapport au contrôle CheckBoxList. Par exemple, vous pouvez inclure du texte ne correspondant pas à une case à cocher entre chaque case à cocher. Vous pouvez également contrôler la police et la couleur des cases à cocher individuelles.

Il est préférable de choisir le contrôle CheckBoxList si vous souhaitez créer une série de cases à cocher à partir des données d'une source de données. (Vous pouvez lier un contrôle CheckBox individuel aux données).

Remarque :

Vous pouvez également utiliser le contrôle HtmlInputCheckBox pour ajouter des cases à cocher sur une page Web ASP.NET. Pour plus d'informations, consultez Syntaxe déclarative du contrôle serveur HtmlInputCheckBox.

Événements CheckBox et CheckBoxList

Les événements fonctionnent différemment entre les contrôles CheckBox individuels et le contrôle CheckBoxList.

Événements de contrôle CheckBox

Les contrôles CheckBox individuels déclenchent l'événement CheckedChanged lorsque les utilisateurs cliquent sur le contrôle. Par défaut, cet événement ne provoque pas la publication de la page sur le serveur. Toutefois, vous pouvez forcer le contrôle à effectuer une publication immédiate en affectant à la propriété AutoPostBack la valeur true. Pour plus d'informations, consultez Comment : répondre à la sélection d'un utilisateur dans un contrôle serveur Web CheckBox.

Remarque :

La fonction de publication automatique exige que le navigateur prenne en charge ECMAScript (JScript ou JavaScript) et que les scripts soient activés sur le navigateur de l'utilisateur.

Il n'est pas toujours nécessaire de créer un gestionnaire d'événements pour l'événement CheckedChanged. Vous pouvez tester la case à cocher activée dans un code qui s'exécute dans le cadre de la page. En général, vous ne devez créer de gestionnaire d'événements pour l'événement CheckedChanged que si vous avez besoin de savoir si la case à cocher a été modifiée, et pas seulement pour lire la valeur d'une case à cocher. Pour plus d'informations, consultez Comment : définir et récupérer la sélection dans un contrôle serveur Web RadioButton.

Evénements de contrôle CheckBoxList

Le contrôle CheckBoxList déclenche un événement SelectedIndexChanged lorsque les utilisateurs sélectionnent une case à cocher dans la liste. Par défaut, l'événement ne provoque pas la publication de la page sur le serveur. Toutefois, vous pouvez forcer le contrôle à effectuer une publication immédiate en affectant à la propriété AutoPostBack la valeur true.

Remarque :

La fonction de publication automatique exige que le navigateur prenne en charge ECMAScript (JScript ou JavaScript) et que les scripts soient activés sur le navigateur de l'utilisateur.

Comme pour les contrôles CheckBox individuels, il est plus courant de tester l'état du contrôle CheckBoxList après la publication de la page par un autre moyen. Pour plus d'informations, consultez Comment : déterminer la sélection dans un contrôle serveur Web List.

Attributs HTML du contrôle CheckBox

Le contrôle CheckBox effectue le rendu en deux parties dans le navigateur : un élément input qui représente la case à cocher et un élément label distinct qui représente la légende de la case à cocher. La combinaison des deux éléments est encapsulée dans un élément span.

Lorsque vous appliquez des paramètres de style ou d'attribut à un contrôle CheckBox, ceux-ci sont appliqués à l'élément d'étendue externe. Par exemple, si vous définissez la propriété BackColor du contrôle, le paramètre est appliqué à l'élément span. Par conséquent, il affecte à la fois les attributs input et label internes.

Il est parfois nécessaire d'appliquer des paramètres distincts à la case à cocher et à l'étiquette. Le contrôle CheckBox prend en charge deux propriétés que vous pouvez définir au moment de l'exécution. La propriété InputAttributes vous permet d'ajouter des attributs HTML à l'élément input, et la propriété LabelAttributes vous permet d'ajouter des attributs HTML à l'élément label. Les attributs que vous définissez sont transmis en l'état au navigateur. L'exemple suivant explique comment définir des attributs pour l'élément input afin que seule la case à cocher, pas l'étiquette, change de couleur lorsque les utilisateurs déplacent le pointeur de la souris dessus.

[Visual Basic]

CheckBox1.InputAttributes.Add("onmouseover", _
    "this.style.backgroundColor = 'red'")
CheckBox1.InputAttributes.Add("onmouseout", _
    "this.style.backgroundColor = 'white'")
CheckBox1.InputAttributes.Add("onmouseover", 
    "this.style.backgroundColor = 'red'");
CheckBox1.InputAttributes.Add("onmouseout", 
    "this.style.backgroundColor = 'white'");

Liaison de données aux contrôles

Vous pouvez lier un contrôle CheckBox individuel à une source de données et lier n'importe quelle propriété du contrôle CheckBox à un champ quelconque de la source de données. Par exemple, vous définissez en général la propriété Checked du contrôle à partir des informations d'une base de données.

Vous pouvez également lier un contrôle CheckBoxList à une source de données. Dans ce cas, chaque case à cocher représente un enregistrement différent de la source de données.

Retour au début

Exemples de code

Comment : ajouter des contrôles serveur Web CheckBox à une page Web Forms (Visual Studio)

Comment : ajouter des contrôles serveur Web CheckBoxList à une page Web Forms (Visual Studio)

Comment : définir la disposition dans un contrôle serveur Web CheckBoxList

Comment : obtenir et définir par programme une valeur du contrôle serveur Web CheckBox

Comment : répondre à la sélection d'un utilisateur dans un contrôle serveur Web CheckBox

Comment : ajouter des éléments dans des contrôles serveur Web List (Visual Studio)

Comment : remplir des contrôles serveur Web List à partir d'une source de données (Visual Studio)

Comment : répondre à des modifications dans des contrôles serveur Web List

Retour au début

Référence de Classe

Le tableau suivant répertorie les classes relatives aux contrôles CheckBox et CheckBoxList.

Membre

Description

CheckBox

Classe principale du contrôle CheckBox.

CheckBoxList

Classe principale du contrôle CheckBoxList.

ListItem

Classe qui représente chaque élément dans un contrôleCheckBoxList.

Items

Collection des éléments qui correspondent à des éléments individuels de la liste pour un contrôle CheckBoxList.

Retour au début

Voir aussi

Tâches

Comment : définir la sélection dans un contrôle serveur Web List (Visual Studio)

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

Référence

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