FAQ ASP.NET/C#
FAQ ASP.NET/C#Consultez toutes les FAQ
Nombre d'auteurs : 39, nombre de questions : 371, dernière mise à jour : 15 juin 2021
Le framework ASP.NET propose un modèle évolué, qui se rapproche d'un modèle événementiel comme le sont les applications client-lourd (comme les Winforms) et permettant de conserver l'état d'une page.
Ainsi, dans cette approche axée sur un modèle événementiel, notre page va passer par un certain nombre d'étapes. C'est ce qu'on appelle le cycle de vie, voici les principales étapes du cycle de vie d'une page :
Initialisation d'une page par le framework ASP.NET :
Evénement | Description et actions associées |
---|---|
FrameworkInitialize | Initialise l'arbre des contrôles, basé sur l'aspx. |
DeterminePostbackMode | Détermine si on est dans un PostBack et affecte la variable IsPostBack. Charge également les données GET et POST. Une fois cet événement passé, on peut utiliser Request.Form. |
PreInit | Evénement valable uniquement pour une page. A ce moment là, les propriétés mise en design dans l'aspx sont déjà initialisées. C'est l'endroit idéal pour créer des contrôles dynamiquement. |
Init | Dans cet événement, on peut également lire les propriétés mise en design, mais on ne peut pas récupérer leurs valeurs si elles ont été modifiées par l'utilisateur lors d'un post back ; ce ne sera possible qu'après LoadPostData(). Ces valeurs seront tout de même accessibles grâce à l'objet Request. Attention, ASP.NET commence par lever les événements OnInit des UserControls récursivement et ensuite lève l'événement de la Page. |
TrackViewState | Démarre la surveillance des modifications de l'état d'affichage des contrôles |
InitComplete | Evénement valable uniquement pour la page. On s'en sert pour des opérations qui nécessitent que tous les éléments soient initialisés. |
LoadViewState | Si la page est en post back (IsPostBack == true), ASP.NET déserialize les informations du view state et les appliques aux contrôles. |
LoadPostBackData | Evénement levé uniquement si IsPostBack == true. ASP.NET renseigne les contrôles avec leurs valeurs grâce au POST DATA. |
Initialisation par le code utilisateur :
Evénement | Description et actions associées |
---|---|
PreLoad | Evénement valable uniquement pour la page, à utiliser avant le chargement récursif de tous les contrôles. |
OnLoad | Appelle récursivement OnLoad sur les contrôles enfants. C'est l'endroit idéal pour les databinds. Attention, cette fois-ci ASP.NET commence par le onload de la page et ensuite ceux des usercontrols récursivement. |
Validation, événements et fin de chargement
Evénement | Description et actions associées |
---|---|
Validation | Ici, les méthodes serveurs des validateurs sont appelées. |
Evénement des contrôles | ASP.NET va lever les événements associés à des contrôles : OnClick, OnSelectedIndexChanged, etc ... |
LoadComplete | Evénement valable uniquement pour la page. On s'en sert pour des actions qui nécessitent que tous les contrôles soient chargés. |
Rendu :
Evénement | Description et actions associées |
---|---|
PreRender | Avant cet événement, la page appelle EnsureChildControls. A utiliser avant que le contrôle ou la page ne soit définitivement figé. |
SaveStateComplete | Arrive au moment de l'enregistrement du viewState, si on modifie un contrôle après cet événement, ce ne sera pas pris en compte. |
Render | Méthode qui effectue le rendu de chaque contrôle. |
Déchargement :
Evénement | Description et actions associées |
---|---|
Unload | Cet événement est utilisé pour libérer les ressources. |