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

Avant de passer aux contrôles serveur ASP.Net, révisons ce que sont les contrôles. Les contrôles sont de petits blocs de code qui peuvent être utilisés sur une page Web pour effectuer la tâche à laquelle ils sont destinés. Par exemple, si vous souhaitez que l'utilisateur saisisse un mot de passe, utilisez un contrôle par mot de passe. Il est livré pré-emballé avec ses propres styles et validations.

De la même manière, les contrôles serveur ASP.Net sont des contrôles qui sont exécutés sur le serveur. Ce sont simplement des balises de type HTML comprises par le serveur. Dès que le serveur rencontre une telle balise, il sait quoi afficher, comment afficher et quelles activités et événements déclencher. Bien sûr, en tant que développeur, vous pouvez remplacer le style, les événements et les actions par défaut.

Caractéristiques des contrôles serveur ASP.NET

  • Gestion automatique de l'état - Les valeurs des contrôles sont conservées lors des allers-retours vers le serveur.
  • Accès simple à la valeur d'objet - L' accès à la valeur d'objet est assez simple grâce à des contrôles plutôt qu'à la méthode conventionnelle d'utilisation de l'objet Request.
  • Événements - Les contrôles réagissent aux événements dans le code côté serveur, ce qui aide à gérer des actions utilisateur spécifiques de manière structurée.
  • Complexité simplifiée - Des interfaces utilisateur complexes sont créées avec des contrôles simples qui sont préconfigurés pour effectuer les actions les plus courantes.
  • Write Once Render Anywhere - Les pages Web créées via les contrôles sont optimisées pour le rendu sur tout type d'appareil ou de navigateur. La mise en page et le balisage dans la sortie sont créés automatiquement en fonction des capacités du navigateur.

Catégories de contrôles serveur ASP.NET

Le cadre de page ASP.Net prend en charge de nombreux contrôles. Les contrôles serveur ASP.NET sont généralement classés en 4 catégories:

1. Contrôles du serveur HTML

Les contrôles serveur HTML sont des attributs HTML qui doivent être traités côté serveur. Cela signifie essentiellement que le contrôle a la même sortie et les mêmes propriétés que leurs attributs HTML traditionnels correspondants, mais avec des capacités de calcul supplémentaires pour les événements à traiter côté serveur.

Pour résumer, les balises HTML traditionnelles améliorées pour être traitées côté serveur sont appelées contrôles de serveur HTML.

Un exemple de contrôle serveur HTML

Balise HTML traditionnelle

Contrôle du serveur HTML

Maintenant, vous vous demandez peut-être comment un attribut runat = "serveur" peut transformer une balise HTML traditionnelle en un contrôle serveur HTML? Eh bien, ASP.Net traite tous les éléments HTML comme du texte brut. L'attribut run at indique que l'élément doit être traité comme un contrôle, ce qui le rend programmable sur le serveur. Les éléments avec cet attribut sont également accessibles par les scripts côté serveur.

Lors de la compilation du code ASP.Net, les éléments avec l'attribut runat = ”server” sont également compilés dans l'assembly. Et pour les éléments qui n'ont pas cet attribut, ils sont ajoutés à l'assemblage en tant que contrôles HTML génériques.

Remarque - Tous les contrôles de serveur HTML doivent être placés entre… balises.

Avantages des contrôles de serveur HTML

Les contrôles serveur HTML offrent les avantages suivants:

  • Les contrôles sont mappés un à un avec leurs balises HTML correspondantes.
  • La plupart des contrôles ont un déclencheur d'événement OnServer pour l'événement le plus courant du contrôle. Par exemple, les boutons ont un OnServerClick Le développeur a simplement besoin d'écrire son code dans les fonctions de déclenchement.
  • Tous les contrôles serveur HTML dérivent de la classe de base Web.UI.HtmlControl. Ainsi, ils héritent de toutes les fonctionnalités et méthodes de base du contrôle HTML.
  • Le balisage des contrôles est similaire aux balises HTML natives, ce qui les rend faciles à utiliser et à comprendre.
  • Les contrôles sont regroupés dans Visual Studio Toolbox, ce qui les rend faciles à utiliser dans votre application.

2. Commandes du serveur Web

Les contrôles serveur Web sont similaires aux contrôles serveur HTML en termes de sortie générée. Cependant, les contrôles serveur Web sont des balises ASP standardisées. Ils sont également compilés côté serveur et nécessitent un attribut runat = "server" similaire.

Un exemple de contrôle de serveur Web

Contrôle du serveur Web

HTML Server Control

Remarque - Tous les contrôles Web ne correspondent pas nécessairement à un contrôle HTML correspondant. Parfois, les contrôles Web sont plus complexes que les contrôles HTML natifs.

Avantages des contrôles de serveur Web

Les contrôles serveur Web offrent les avantages suivants:

  • Les contrôles sont mappés (principalement, mais pas toujours) à leurs éléments HTML correspondants. Cela permet aux développeurs de générer plus facilement une interface utilisateur.
  • Étant donné que les contrôles sont pré-emballés avec des éléments HTML interactifs, le processus de création de formulaires Web devient moins sujet aux erreurs et est plus cohérent.
  • Tous les contrôles serveur Web dérivent de la classe de base Web.UI.WebControls.WebControl. Ainsi, ils héritent de toutes les fonctionnalités et méthodes de contrôle Web de base.
Les contrôles serveur Web sont divisés en quatre catégories:
  • Contrôles Web de base
  • Contrôles de validation
  • Liste des contrôles
  • Contrôles riches

une. Contrôles Web de base

Les contrôles Web de base sont similaires aux contrôles serveur HTML. Ils fournissent la même fonctionnalité avec des méthodes, des événements et des propriétés supplémentaires, que les développeurs peuvent utiliser pour écrire leur propre code.

Exemples de contrôles Web de base

Contrôle des boutons

HyperLink Control
Label Control

b. Contrôles de validation

Les contrôles de validation dans ASP.Net sont utilisés pour valider les entrées par l'utilisateur. Ces contrôles peuvent effectuer des validations prédéfinies et personnalisées. Selon la compatibilité du navigateur, les validations sont effectuées côté client ou côté serveur. Cette décision est automatiquement effectuée par les contrôles. La validation côté client est effectuée dans le navigateur client, c'est-à-dire avant qu'un appel de publication ne soit déclenché vers le serveur. La validation côté serveur est effectuée après que le formulaire a été soumis au serveur.

Les contrôles de validation ne sont pas des contrôles autonomes. Ils sont plutôt associés à d'autres contrôles de la page Web ou du formulaire Web. Plusieurs contrôles de validation peuvent être associés à chaque contrôle à valider. La validation est effectuée lorsque l'utilisateur soumet la page ou le formulaire.

Exemples de contrôles de validation

Validateur de champ obligatoire

Compare Validator

c. Liste des contrôles

Les contrôles de liste sont des contrôles spéciaux qui génèrent des dispositions de liste pré-formatées. Ces contrôles se lient aux collections et affichent les données collectées dans des lignes d'un format personnalisé ou basé sur un modèle. Pour cette raison, les contrôles de liste ne se lient qu'aux collections qui implémentent les interfaces IEnumerable, ICollection ou IListSource. Les données à lier aux contrôles de liste sont définies par les propriétés DataSource et DataMember.

Exemple

Public void Page_Load()( count_rptr.DataSource = new String() ("Uno", "Due", "Tre"); count_rptr.DataBind();)

Le code ci-dessus affichera Uno, Due, Tre sous la forme d'une liste s'étalant sur trois lignes.

ré. Contrôles riches

Les contrôles Web riches sont des contrôles HTML complexes qui sont destinés à fournir une expérience utilisateur riche. Ce sont des contrôles spécifiques aux tâches. Contrairement aux simples contrôles HTML natifs des formulaires Web, les contrôles riches effectuent une tâche complexe. Cela peut être une suite tissée de plusieurs contrôles HTML simples ou une mise en page plus améliorée. Des exemples de contrôles riches sont le contrôle Calendrier, le contrôle XML, le contrôle AdRotator, etc.

Le contrôle Calendrier est chargé d'afficher un élément de sélection de date que l'utilisateur peut très facilement utiliser pour sélectionner une date.

Le contrôle XML génère une disposition XML pour les données données. La disposition XML est une disposition contrôlée par balises dans laquelle les données sont enfermées dans des balises. Ces balises servent de clés tandis que les données qu'elles contiennent servent de valeurs.

Le contrôle AdRotator est responsable de l'affichage d'une bannière publicitaire sur la page Web.

3. Commandes utilisateur

ASP.Net permet également au développeur de créer son propre ensemble de contrôles intégrés qui peuvent être réutilisés. Cela aide grandement les développeurs lorsqu'ils souhaitent réutiliser l'interface de la page Web actuelle dans une autre. ASP.Net nous permet de convertir nos formulaires Web en contrôles utilisateur. Pour ce faire, ASP.Net enregistre les formulaires Web avec l'extension .ascx. Ces fichiers .ascx peuvent être utilisés plusieurs fois dans un même formulaire Web.

Étapes pour créer votre propre contrôle utilisateur:

  1. Supprimez tout,, et
  2. Changez la directive @Page en @Control
  3. (Facultatif) Incluez un attribut className avec la directive @Control pour taper fortement votre directive avec la classe.
  4. Enregistrez le contrôle avec .ascx

4. Commandes personnalisées

En plus de la suite complète de contrôles intégrés, ASP.Net vous permet également de définir votre propre contrôle personnalisé. Un contrôle personnalisé est l'un des trois:

  • Une combinaison de deux ou plusieurs commandes intégrées.
  • Une extension d'un contrôle intégré.
  • Un code entièrement nouveau qui fonctionne comme un contrôle spécifique.

Articles recommandés

Ceci est un guide des contrôles serveur ASP.NET. Nous discutons ici des fonctionnalités et des différentes catégories de contrôles serveur ASP.NET ainsi que des avantages et des exemples. Vous pouvez également consulter les articles suivants pour en savoir plus -

  1. ASP.NET Framework
  2. Contrôles de validation ASP.Net
  3. Carrière dans ASP.NET
  4. Qu'est-ce que les services Web ASP.Net?