Partager via


Cycle de vie d'exécution des contrôles

Le serveur charge une page ASP.NET à chaque demande, puis la décharge une fois la demande terminée. La page et les contrôles serveur qu'elle contient sont responsables de l'exécution de la demande et du rendu du code HTML au client. Même si la communication entre le client et le serveur est sans état et déconnectée, l'expérience du client doit sembler être celle d'un processus qui s'exécute en continu.

Cette illusion de continuité est créée par l'infrastructure de page ASP.NET ainsi que par la page et ses contrôles. Lors de la publication, un contrôle doit se comporter comme s'il redémarrait là où il s'était arrêté au terme de la demande Web précédente. L'infrastructure de page ASP.NET permet de gérer relativement facilement l'état, mais les développeurs de contrôles doivent connaître l'ordre d'exécution des contrôles pour assurer l'effet de continuité. Les développeurs de contrôles doivent être au courant des informations mises à la disposition d'un contrôle à chaque phase de son cycle de vie, des données rendues persistantes et de l'état du contrôle lors de sa restitution. Par exemple, un contrôle ne peut pas appeler son parent aussi longtemps que l'arborescence des contrôles d'une page n'est pas remplie.

Le tableau suivant fournit une vue d'ensemble détaillée des phases du cycle de vie d'un contrôle. Pour plus d'informations, suivez les liens fournis dans le tableau.

Phase Action qu'un contrôle doit exécuter Méthode ou événement à substituer
Initialiser Initialiser les paramètres nécessaires pendant la durée de vie de la demande Web entrante. Consultez Gestion des événements hérités. Événement Init (méthode OnInit)
Charger l'état d'affichage À la fin de cette phase, la propriété ViewState d'un contrôle est automatiquement remplie de la manière décrite à la section Gestion de l'état dans un contrôle. Un contrôle peut substituer l'implémentation par défaut de la méthode LoadViewState pour personnaliser la restauration de l'état. Méthode LoadViewState
Traiter les données de publication Traiter les données de formulaire entrantes et mettre à jour les propriétés en conséquence. Consultez Traitement des données de publication.
Remarque   Seuls les contrôles qui traitent les données de publication participent à cette phase.
Méthode LoadPostData

(si IPostBackDataHandler est implémenté)

Charger Effectuer des actions communes à toutes les demandes, notamment la configuration d'une requête de base de données. À ce stade, les contrôles serveur de l'arborescence sont créés et initialisés, l'état est restauré et les contrôles de formulaire reflètent les données côté client. Consultez Gestion des événements hérités. Événement Load

(méthode OnLoad)

Envoyer des notifications de modification de la publication Déclencher des événements de modification en réponse à des modifications de l'état entre la publication actuelle et la précédente. Consultez Traitement des données de publication.
Remarque   Seuls les contrôles qui déclenchent des événements de modification de la publication participent à cette phase.
Méthode RaisePostDataChangedEvent

(si IPostBackDataHandler est implémenté)

Gérer les événements de publication Gérer l'événement côté client qui a entraîné la publication et déclencher les événements appropriés sur le serveur. Consultez Capture d'événements de publication.
Remarque   Seuls les contrôles qui traitent les événements de publication participent à cette phase.
Méthode RaisePostBackEvent

(si IPostBackEventHandler est implémenté)

Exécuter un rendu préalable Effectuer les mises à jour éventuelles avant de rendre la sortie. Les modifications éventuellement apportées à l'état du contrôle dans la phase de pré-rendu peuvent être enregistrées, alors que les modifications apportées lors de la phase de rendu sont perdues. Consultez Gestion des événements hérités. Événement PreRender

(méthode OnPreRender)

Enregistrer l'état La propriété ViewState d'un contrôle est automatiquement rendue persistante dans un objet chaîne après cette étape. Cet objet chaîne est envoyé au client et retourné sous la forme d'une variable masquée. Pour améliorer l'efficacité, un contrôle peut substituer la méthode SaveViewState afin de modifier la propriété ViewState. Consultez Gestion de l'état dans un contrôle. Méthode SaveViewState
Rendre Générer la sortie à rendre au client. Consultez Rendu d'un contrôle serveur ASP.NET. Méthode Render
Supprimer Effectuer le nettoyage final éventuel avant de détruire le contrôle. Les références à des ressources coûteuses, telles que des connexions à des bases de données, doivent être libérées au cours de cette phase. Consultez Méthodes dans les contrôles serveur ASP.NET. Méthode Dispose
Décharger Effectuer le nettoyage final éventuel avant de détruire le contrôle. Les auteurs de contrôles effectuent généralement le nettoyage dans Dispose et ne gèrent pas cet événement. Événement UnLoad (méthode On UnLoad)

**Remarque  ** Pour substituer un événement NomÉvénement, substituez la méthode OnNomÉvénement (et appelez la méthode base.OnNomÉvénement).

Les méthodes et événements de la troisième colonne sont hérités de System.Web.UI.Control, avec les exceptions suivantes : LoadPostData et RaisePostDataChangedEvent sont des méthodes de l'interface IPostBackDataHandler, et RaisePostBackEvent appartient à l'interface IPostBackEventHandler. Si votre contrôle participe au traitement des données de publication, vous devez implémenter IPostBackDataHandler. Si votre contrôle reçoit des événements de publication, vous devez implémenter IPostBackEventHandler.

La méthode CreateChildControls n'est pas reprise dans le tableau, car elle est appelée chaque fois que l'infrastructure de page ASP.NET doit créer les contrôles et cet appel de méthode n'est pas limité à une phase spécifique dans le cycle de vie d'un contrôle. Par exemple, CreateChildControls peut être appelé lors du chargement d'une page, pendant la liaison de données ou au cours du rendu.

Voir aussi

Capture d'événements de publication | Traitement des données de publication | Gestion des événements hérités | Gestion de l'état dans un contrôle