Ordre des événements de contrôle du serveur ASP .Net
Question
Quels sont les événements d'un contrôle de serveur ASP .Net et comment leur ordre est-il lié aux événements de la page contenant?
Le problème concret est que je recherche un événement dans le contrôle serveur qui se déclenche avant l'événement Page_Load de la page contenant.
La solution
En ce qui concerne leur relation avec les événements de page, au moins pour Init et Load:
"Bien que les commandes Init et Load apparaissent de manière récursive sur chaque contrôle, elles se déroulent dans l'ordre inverse. L'événement Init (ainsi que l'événement Unload) de chaque contrôle enfant se produit avant que l'événement correspondant ne soit déclenché pour son conteneur (de bas en haut). Toutefois, l'événement de chargement d'un conteneur se produit avant les événements de chargement de ses contrôles enfants (de haut en bas). "
Autres conseils
Cela devrait aider: http://msdn.microsoft.com/en -us / library / ms178472.aspx
Je pense que vous cherchez un PreLoad.
C’est un petit problème, car le contrôle peut être placé dans la page après le "Page_Load". événement.
Dans l'un de mes projets historiques, j'ai dérivé toutes les pages de ma classe "PageEx: System.Web.UI.Page". Qui avait une propriété " CurrentState " de type "enum PageStates {PreInit, Init, PostInit, PreLoad, / * etc ... * /}". Tous mes contrôles ont pu reconnaître l’état du cycle de la page.
La Événement ASP.NET 2.0 contient une liste plus longue. Ordre (remarque: ceci concerne la version 2.0).