Vue d'ensemble des contrôles serveur Web ASP.NET

Mise à jour : novembre 2007

Lorsque vous créez des pages Web ASP.NET, vous pouvez utiliser les types de contrôles suivants :

  • Contrôles serveur HTML   Éléments HTML exposés au serveur de façon à ce que vous puissiez les programmer. Les contrôles serveur HTML exposent un modèle objet qui est mappé très étroitement aux éléments HTML dont ils assurent le rendu.

  • Contrôles serveur Web   Contrôles possédant plus de fonctionnalités intégrées que les contrôles serveur HTML. Les contrôles serveur Web incluent des contrôles de type formulaire, comme les boutons et les zones de texte, et des contrôles spécialisés comme le calendrier, les menus et le contrôle TreeView. Les contrôles serveur Web sont plus abstraits que les contrôles serveur HTML. Leur modèle objet ne reflète pas nécessairement la syntaxe HTML.

  • Contrôles de validation   Contrôles qui incorporent la logique vous permettant de vérifier ce que les utilisateurs entrent pour les contrôles d'entrée, comme le contrôle TextBox. Les contrôles de validation vous permettent de vérifier s'il existe un champ obligatoire, d'effectuer une comparaison avec une valeur spécifique ou un modèle de caractères, de vérifier qu'une valeur est comprise dans une plage spécifique, etc. Pour plus d'informations, consultez Contrôles ASP.NET de validation.

  • Contrôles utilisateur   Contrôles que vous pouvez créer en tant que pages Web ASP.NET. Vous pouvez incorporer des contrôles utilisateur ASP.NET dans d'autres pages Web ASP.NET, pour créer facilement des barres d'outils et autres éléments réutilisables. Pour plus d'informations, consultez Contrôles utilisateur ASP.NET.

    Remarque :

    Il est également possible de générer un résultat pour les périphériques mobiles. À cette fin, utilisez la même infrastructure de page ASP.NET, mais créez des pages Web mobiles ASP.NET, plutôt que des pages Web ASP.NET et utilisez les contrôles spécialement conçus pour les périphériques mobiles. Pour plus d'informations, consultez Création de pages Web mobiles ASP.NET.

Vous pouvez utiliser tous les types de contrôles sur la même page. Les sections suivantes vous fournissent plus d'informations sur les contrôles serveur ASP.NET.

Remarque :

Dans certains cas, l'utilisation d'un script client est nécessaire au bon fonctionnement des contrôles serveur. Si l'exécution de scripts est désactivée dans le navigateur de l'utilisateur, il se peut que les contrôles ne fonctionnent pas comme prévu. Pour plus d'informations, consultez Fonctionnalités des contrôles serveur Web ASP.NET et du navigateur.

Contrôles serveur HTML

Les contrôles serveur HTML sont des éléments HTML (ou éléments d'un autre balisage pris en charge, comme XHTML) contenant des attributs qui permettent de les programmer en code serveur. Par défaut, les éléments HTML d'une page Web ASP.NET ne sont pas disponibles sur le serveur. À la place, ils sont traités comme texte opaque et transmis par le navigateur. Toutefois, en convertissant les éléments HTML en contrôles serveur HTML, vous les exposez comme des éléments que vous pouvez programmer sur le serveur.

Le modèle objet pour les contrôles serveur HTML est étroitement mappé sur celui des éléments correspondants. Par exemple, les attributs HTML sont exposés dans les contrôles serveur HTML comme des propriétés.

Tout élément HTML d'une page peut être converti en contrôle serveur HTML en ajoutant l'attribut . Pendant l'analyse, l'infrastructure de page ASP.NET crée les instances de tous les éléments qui contiennent l'attribut . Si vous souhaitez référencer le contrôle comme membre dans votre code, vous devez également assigner un attribut id au contrôle.

L'infrastructure de page fournit des contrôles serveur HTML prédéfinis pour les éléments HTML utilisés le plus couramment de façon dynamique sur une page : élément form, éléments input (zone de texte, case à cocher, bouton Envoyer), élément select, etc. Ces contrôles serveur HTML prédéfinis possèdent les propriétés de base des contrôles génériques et chaque contrôle fournit généralement son propre ensemble de propriétés et son propre événement.

Les contrôles serveur HTML offrent les fonctionnalités suivantes :

  • Un modèle objet que vous pouvez programmer sur le serveur en utilisant les techniques orientées objet familières. Chaque contrôle serveur expose des propriétés qui permettent de manipuler par programme les attributs de balisage du contrôle dans le code serveur.

  • Un ensemble d'événements pour lesquels vous pouvez écrire des gestionnaires d'événements de la même façon que vous le feriez dans un formulaire client, excepté que l'événement est géré dans le code serveur.

  • La possibilité de gérer des événements dans le script client.

  • Gestion automatique de l'état d'un contrôle. Si la page fait un aller-retour vers le serveur, les valeurs que l'utilisateur a entrées dans les contrôles serveur HTML sont gérées automatiquement et renvoyées au navigateur.

  • Interaction avec les contrôles de validation ASP.NET afin que vous puissiez vérifier facilement qu'un utilisateur a saisi les informations appropriées dans un contrôle.

  • La liaison de données avec une ou plusieurs propriétés du contrôle.

  • Prise en charge des styles si la page Web ASP.NET est affichée dans un navigateur qui gère les feuilles de style en cascade.

  • La transmission directe des attributs personnalisés. Vous pouvez ajouter les attributs dont vous avez besoin à un contrôle serveur HTML et l'infrastructure de page les restitue sans modification aucune des fonctionnalités. Cela vous permet d'ajouter à vos contrôles des attributs spécifiques au navigateur.

Pour plus d'informations sur la conversion d'un élément HTML en un contrôle serveur HTML, consultez Comment : ajouter des contrôles serveur HTML à une page Web à l'aide de la syntaxe ASP.NET.

Contrôles serveur Web

Les contrôles serveur Web sont un deuxième ensemble de contrôles conçus dans un but différent. Ils ne correspondent pas nécessairement un à un aux contrôles serveur HTML. Ils se définissent à la place comme contrôles abstraits dans lesquels le balisage réel affiché par le contrôle peut être assez différent du modèle que vous programmez. Par exemple, un contrôle serveur Web RadioButtonList peut être restitué dans un tableau ou comme texte inline avec un autre balisage.

Les contrôles serveur Web comprennent les contrôles de formulaires traditionnels, tels que les boutons et zones de texte, ainsi que les contrôles complexes comme les tableaux. Ils incluent aussi des contrôles qui fournissent les fonctionnalités de formulaire communément utilisées, comme afficher des données dans une grille, choisir des dates, afficher des menus, etc.

Les contrôles serveur Web offrent toutes les fonctionnalités décrites précédemment pour les contrôles serveur HTML (sauf le mappage un à un sur les éléments HTML), ainsi que les fonctionnalités supplémentaires suivantes :

  • Un objet modèle élaboré fournissant des fonctionnalités de programmation de type sécurisé.

  • Une détection automatique du navigateur. Les contrôles peuvent détecter des fonctionnalités de navigateur et restituer le balisage approprié.

  • Pour certains contrôles, la possibilité de définir votre propre disposition pour le contrôle à l'aide de Templates.

  • Pour d'autres contrôles, la capacité de spécifier si l'événement d'un contrôle provoque la publication immédiate sur le serveur ou est, à la place, mis en cache et déclenché lorsque la page est envoyée.

  • Prise en charge des thèmes, qui vous permettent de définir un aspect cohérent pour l'ensemble des contrôles de votre site. Pour plus d'informations, consultez Thèmes et apparences ASP.NET.

  • La possibilité de passer des événements d'un contrôle imbriqué (tel qu'un bouton dans un tableau) au contrôle conteneur.

Les contrôles utilisent une syntaxe telle que la suivante :

<asp:button attributes  id="Button1" />

Dans ce cas, les attributs ne sont pas ceux des éléments HTML. Ce sont des propriétés du contrôle Web.

Lorsque la page Web ASP.NET s'exécute, le contrôle serveur Web est restitué sur la page à l'aide du balisage approprié, lequel dépend souvent non seulement du type de navigateur, mais également des paramètres que vous avez définis pour le contrôle. Par exemple, un contrôle TextBox peut être restitué comme une balise input ou une balise textarea, selon ses propriétés.

Les documentations de référence et de procédure sont disponibles séparément pour chaque contrôle.

Voir aussi

Concepts

Vue d'ensemble des contrôles serveur Web ASP.NET