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 : répondre à la sélection d'un utilisateur dans un groupe de contrôles serveur Web RadioButton

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

RadioButton

Classe principale du contrôle RadioButton.

RadioButtonList

Classe principale du contrôle RadioButtonList.

ListItem

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

Items

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