Accueil     Commander     Clients     Téléchargements     Contacts     I-mode        Offre spéciale
   Hébergement ASP-PHP
      Pack PRO I
      Pack PRO II
      Pack PRO III
   Hébergement .NET
      Pack .NET I
      Pack .NET II
      Pack .NET III
   Revendeurs
      SEMI-DEDIE I
      SEMI-DEDIE II
      SERVEURS DEDIES
   Services
      NOM DE DOMAINE
      HTTPS & SSL
      E-COMMERCE
      SQL SERVEUR
      WEBMAIL
      REFERENCEMENT
   Les + Prosygma
      NOS TARIFS
      LE RESEAU
      ASSISTANCE
   Outils
      WHOIS
      FAQ
      Aide IIS
      Ressource KIT FP
      Composants ASP
     PARTENAIRES
     
     
     

Solutions hébergement
Support Dot NET.
  
  Source : Les laboratoires Microsoft

 

Contrôles utilisateur Web Forms


Présentation des contrôles utilisateur

Outre les contrôles serveur intégrés fournis par ASP.NET, vous pouvez aisément définir vos propres contrôles à l'aide des mêmes techniques de programmation que celles décrites précédemment pour l'écriture de pages Web Forms. En réalité, en les modifiant légèrement, presque toutes les pages Web Forms peuvent être réutilisées dans une autre page en tant que contrôles serveur (remarquez qu'un contrôle utilisateur est de type System.Web.UI.UserControl, héritant directement de System.Web.UI.Control). Une page Web Forms utilisée comme contrôle serveur porte le nom de contrôle utilisateur. Par convention, ces contrôles sont désignés par l'extension .ascx. Cela permet d'empêcher que le fichier du contrôle utilisateur soit exécuté en tant que page Web Forms autonome (vous constaterez qu'il existe quelques rares différences importantes entre un contrôle utilisateur et une page Web Forms). Les contrôles utilisateur sont ajoutés à une page Web Forms à l'aide d'une directive Register :

<%@ Register TagPrefix="Acme"
TagName="Message" Src="pagelet1.ascx" %>

Le TagPrefix détermine un espace de noms pour le contrôle utilisateur (de sorte que plusieurs contrôles utilisateur portant le même nom puissent être différenciés). Le TagName est le nom unique du contrôle utilisateur (vous pouvez spécifier le nom de votre choix). L'attribut Src est le chemin virtuel du contrôle utilisateur (par exemple "MyPagelet.ascx" ou "/MyApp/Include/MyPagelet.ascx"). Une fois le contrôle utilisateur inscrit, vous pouvez placer sa balise dans la page Web Forms comme s'il s'agissait d'un contrôle serveur ordinaire (en incluant l'attribut runat="server") :

<Acme:Message runat="server"/>

L'exemple suivant illustre un contrôle utilisateur importé dans une autre page Web Forms. Remarquez que, dans ce cas-ci, le contrôle utilisateur est un simple fichier statique.

 
VB Pagelet1.aspx



Exposition des propriétés des contrôles utilisateur

Si une page Web Forms est traitée comme un contrôle, les champs et méthodes publics qu'elle contient sont transformés en propriétés publiques (c'est-à-dire en attributs de balise) et également en méthodes du contrôle. L'exemple suivant illustre une extension de l'exemple de contrôle utilisateur précédent, comprenant deux champs String publics supplémentaires. Remarquez que ces champs peuvent être définis soit par déclaration, soit par programme dans la page conteneur.

 
VB Pagelet2.aspx

Outre la transformation des champs publics en propriétés de contrôle, la syntaxe des propriétés peut être utilisée. Celle-ci a l'avantage d'être capable d'exécuter du code lorsque des propriétés sont définies ou extraites. L'exemple suivant illustre un contrôle utilisateur Address qui enveloppe les propriétés de texte des contrôles TextBox. Grâce à cette procédure, le contrôle hérite gratuitement de la gestion d'état automatique du contrôle TextBox.

Remarquez que la page Web Forms conteneur comporte deux contrôles utilisateur Adresse qui ont attribué à la propriété Caption la valeur "« Adresse de facturation » et « Adresse d'expédition », respectivement. Cette possibilité de réutilisation constitue la réelle puissance des contrôles utilisateur.

 
VB Pagelet3.aspx

Le contrôle Login est un autre contrôle utilisateur pratique pour collecter les noms d'utilisateur et les mots de passe.

 
VB Pagelet4.aspx

Dans cet exemple, les contrôles de validation de formulaire sont ajoutés au contrôle utilisateur Login.

 
VB Pagelet5.aspx



Encapsulation d'événements dans un contrôle utilisateur

Les contrôles utilisateur participent au cycle de vie d'exécution complet de la demande, de la même manière que les contrôles serveur ordinaires. Cela signifie qu'un contrôle utilisateur peut gérer ses propres événements, en encapsulant une partie de la logique de la page Web Forms conteneur. L'exemple suivant illustre un contrôle utilisateur de listing de produits qui gère en interne ses propres publications. Remarquez que le contrôle utilisateur proprement dit ne possède aucun contrôle <form runat="server"> enveloppant. Comme une page ne peut contenir qu'un seul contrôle de formulaire (ASP.NET n'autorise pas les formulaires serveur imbriqués), il revient à la page Web Forms conteneur de le définir.

 
VB Pagelet6.aspx



Création de contrôles utilisateur par programme

Les contrôles utilisateur peuvent être créés par programme, comme les contrôles serveur ordinaires. La méthode LoadControl de la page est utilisée pour charger le contrôle utilisateur, en passant le chemin virtuel au fichier source du contrôle utilisateur :


Dim c1 As Control = LoadControl
("pagelet7.ascx") CType(c1, (Pagelet7VB)).Category
= "business" Page.Controls.Add(c1)
C# VB JScript  

Le type du contrôle utilisateur est déterminé par un attribut ClassName sur la directive Control. Par exemple, vous pouvez assigner le type fort "Pagelet7CS" à un contrôle utilisateur enregistré sous le nom de fichier "pagelet7.ascx" de la manière suivante :

Comme la méthode LoadControl retourne un type de System.Web.UI.Control, il doit être casté en un type fort approprié afin de définir les différentes propriétés du contrôle. Pour terminer, le contrôle utilisateur est ajouté au ControlCollection de la page de base.

 
VB Pagelet7.aspx

Important Le type fort d'un contrôle utilisateur n'est mis à la disposition de la page Web Forms conteneur que si une directive Register est ajoutée pour le contrôle utilisateur (même si aucune balise de contrôle utilisateur n'est effectivement déclarée).

Résumé de la section

  1. Les contrôles utilisateur permettent aux développeurs de définir aisément des contrôles personnalisés en appliquant les mêmes techniques de programmation que pour l'écriture de pages Web Forms.
  2. Par convention, ces contrôles sont désignés par l'extension de fichier .ascx. Cela empêche tout fichier de contrôle utilisateur d'être exécuté en tant que page Web Forms autonome.
  3. Les contrôles utilisateur sont ajoutés à une autre page Web Forms à l'aide d'une directive Register, qui spécifie un TagPrefix, un TagName et un Src location.
  4. Une fois le contrôle utilisateur inscrit, vous pouvez placer une balise de contrôle utilisateur dans une page Web Forms comme s'il s'agissait d'un contrôle serveur ordinaire (en incluant l'attribut runat="server").
  5. Les champs, propriétés et méthodes publics d'un contrôle utilisateur sont transformés en propriétés publiques (attributs de balise) et en méthodes de contrôle dans la page Web Forms conteneur.
  6. Les contrôles utilisateur participent au cycle de vie d'exécution complet de chaque demande et peuvent gérer leurs propres événements, en encapsulant une partie de la logique de la page Web Forms conteneur.
  7. Les contrôles utilisateur ne doivent pas contenir de contrôles de formulaire, mais se reposer sur leur page Web Forms conteneur qui se charge d'en inclure un le cas échéant.
  8. Les contrôles utilisateur peuvent être créés par programme à l'aide de la méthode LoadControl de la classe System.Web.UI.Page. Le type du contrôle utilisateur est déterminé par le runtime de ASP.NET, en appliquant la convention nomfichier_extension.
  9. Le type fort d'un contrôle utilisateur n'est mis à la disposition de la page Web Forms conteneur que si une directive Register est ajoutée pour le contrôle utilisateur (même si aucune balise de contrôle utilisateur n'est effectivement déclarée).



Nos serveurs sont désormais des serveurs
Pentium 3 Ghz, 1 Go Ram

 La formule de base est à 10 Euros TTC / mois
Si vous avez des besoins plus spécifiques (composants, espace disque...), nous sommes la pour répondre à vos questions.
Rappel : les frais d'installation sont gratuits


Prosygma élu meilleur site.
 
Trois nouveaux composants ASP sont désormais en place sur toutes nos formules.Il s'agit de ASPIMAGE, ASPPOP3 et ASPMAIL.


La dernière version de Microsoft® .NET Framework contient tout ce qu'il vous faut pour faire fonctionner des applications .NET Framework est disponible sur nos serveurs

Cliquez içi pour commander votre hébergement .Net

Votre nom de domaine en .com, .net ou .org au prix unique : 20 Euros

  Vérifiez la disponibilité d'un nom de domaine