Vue d'ensemble des contrôles serveur Web RadioButton et RadioButtonList
Mise à jour : novembre 2007
Les contrôles RadioButton et RadioButtonList permettent aux utilisateurs de sélectionner des choix prédéfinis et mutuellement exclusifs dans un ensemble réduit.
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 :
provoquer une publication (postback) de page lorsqu'une case d'option est sélectionnée ;
capturer une intervention de l'utilisateur lorsqu'il sélectionne une case d'option ;
lier chaque case d'option 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 d'option à une page Web ASP.NET : des contrôles RadioButton individuels ou un contrôle RadioButtonList. Ces deux contrôles permettent aux utilisateurs de faire une sélection dans une courte série de choix prédéfinis qui s'excluent mutuellement. Les contrôles vous permettent de définir un certain nombre de cases d'option avec des étiquettes et de les disposer horizontalement ou verticalement.
Vous ajoutez des contrôles RadioButton individuels à une page et travaillez avec eux séparément. En général, vous groupez plusieurs boutons.
Vous pouvez aussi utiliser RadioButtonList, contrôle unique qui agit comme contrôle parent d'une collection d'éléments de liste de cases d'option. Il dérive de la classe de base ListControl class. Il a donc un fonctionnement très proche des contrôles serveur Web ListBox, DropDownList, BulletedList et CheckBoxList. La plupart des procédures d'utilisation du contrôle RadioButtonList sont identiques à celles des autres contrôles serveur Web de liste.
Les deux types de contrôles ont leurs avantages. L'utilisation des contrôles RadioButton individuels vous laisse plus de liberté quant à la présentation du groupe de cases d'option sur la page que le contrôle RadioButtonList. Par exemple, vous pouvez inclure du texte ne correspondant pas à une case d'option entre des cases d'option.
Il est préférable de choisir le contrôle RadioButtonList si vous souhaitez créer un groupe de cases d'option à partir des données d'une source de données. Le code qui détermine la case d'option sélectionnée semble également un peu plus simple à écrire.
Remarque : |
---|
Vous pouvez également utiliser le contrôle serveur HtmlInputRadioButton pour ajouter des cases d'option à une page Web ASP.NET. Pour plus d'informations, consultez Syntaxe déclarative du contrôle serveur HtmlInputRadioButton. |
Si vous souhaitez présenter aux utilisateurs une liste d'options plus exhaustive ou une liste dont la longueur varie au moment de l'exécution, utilisez un contrôle serveur Web ListBox ou DropDownList.
Regroupement de cases d'option
Les cases d'option sont rarement utilisées séparément. Au contraire, elles sont regroupées afin d'obtenir une série d'options qui s'excluent mutuellement. Dans un groupe, seule une case d'option peut être sélectionnée à la fois. Vous pouvez créer des cases d'option groupées selon les méthodes suivantes :
Ajoutez des contrôles serveur Web RadioButton individuels à une page puis assignez-les tous manuellement à un groupe. Le nom du groupe est arbitraire ; toutes les cases d'option portant le même nom de groupe sont considérées comme faisant partie d'un seul groupe.
Ajoutez un contrôle serveur Web RadioButtonList à la page. Les éléments de liste dans le contrôle sont automatiquement groupés.
Événements RadioButton et RadioButtonList
Les événements fonctionnent différemment entre les contrôles RadioButton individuels et le contrôle RadioButtonList.
Contrôles RadioButton individuels
Les contrôles RadioButton individuels déclenchent l'événement CheckedChanged lorsque les utilisateurs cliquent sur le contrôle. (Cet événement est hérité du contrôle CheckBox.) 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 sur la réponse directe à cet événement, consultez Comment : répondre à la sélection d'un utilisateur dans un groupe de contrôles serveur Web RadioButton.
Remarque : |
---|
La fonction de publication (postback) 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 est possible que vous n'ayez pas du tout à créer de gestionnaire d'événements pour l'événement CheckedChanged. Vous pouvez tester la case d'option activée dans tout code qui s'exécute dans le cadre de la page. En général, vous ne créez de gestionnaire d'événements pour l'événement CheckedChanged que si vous avez besoin de savoir qu'une case d'option a été modifiée, et pas seulement pour lire la valeur de la sélection actuelle. Pour plus d'informations, consultez Comment : définir et récupérer la sélection dans un contrôle serveur Web RadioButton.
Contrôle RadioButtonList
Le contrôle RadioButtonList déclenche un événement SelectedIndexChanged lorsque les utilisateurs changent la case d'option sélectionnée 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. Pour plus d'informations, consultez Comment : répondre à des modifications dans des contrôles serveur Web List.
Remarque : |
---|
La fonction de publication (postback) 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 RadioButton individuels, il est plus courant de tester l'état du contrôle RadioButtonList 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 RadioButton
Le contrôle RadioButton effectue le rendu dans le navigateur en deux parties : un élément input qui représente la case d'option et un élément label distinct qui représente la légende de la case d'option. 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 RadioButton, ceux-ci sont appliqués à l'élément span 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 éléments internes input et label.
Vous souhaitez parfois pouvoir appliquer des paramètres distincts pour la case d'option et l'étiquette. Le contrôle RadioButton 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 d'option, et non l'étiquette, change de couleur lorsque les utilisateurs le survole avec le pointeur de la souris.
RadioButton1.InputAttributes.Add("onmouseover", _
"this.style.backgroundColor = 'red'")
RadioButton1.InputAttributes.Add("onmouseout", _
"this.style.backgroundColor = 'white'")
RadioButton1.InputAttributes.Add("onmouseover",
"this.style.backgroundColor = 'red'");
RadioButton1.InputAttributes.Add("onmouseout",
"this.style.backgroundColor = 'white'");
Liaison de données au contrôle
Vous pouvez lier un contrôle RadioButton individuel à une source de données et lier n'importe quelle propriété du contrôle RadioButton à un champ quelconque de la source de données. Par exemple, vous pourriez définir la propriété Text du contrôle en fonction des informations d'une base de données.
Étant donné que les cases d'option sont utilisées en groupes, la liaison d'une case d'option unique à une source de données n'est pas courante. Au contraire, il est plus commun de lier un contrôle RadioButtonList à une source de données. Dans ce cas, la source de données génère de façon dynamique des cases d'option (éléments de liste) pour chaque enregistrement de la source de données.
Retour au début
Exemples de code
Comment : ajouter des contrôles serveur Web RadioButton à une page Web Forms
Comment : ajouter des contrôles serveur Web RadioButtonList à une page Web Forms (Visual Studio)
Comment : définir et récupérer la sélection dans un contrôle serveur Web RadioButton
Comment : définir la disposition dans un contrôle serveur Web RadioButtonList
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 RadioButton et RadioButtonList.
Member |
Description |
---|---|
Classe principale du contrôle RadioButton. |
|
Classe principale du contrôle RadioButtonList. |
|
Classe qui représente chaque élément dans un contrôleRadioButtonList. |
|
Collection des éléments qui correspondent à des éléments individuels de la liste pour un contrôle RadioButtonList. |
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 CheckBox et CheckBoxList