2009-11-23 6 views
1

Par exemple, permet de dire que j'ai une page et 2 contrôles personnalisés sur cette page. Au cours de quel événement sur la page ces contrôles sont-ils construits? Quand est-ce que leur page_init est appelée?Le cycle de vie de la page des contrôles (ordre construit à partir d'une page)

En outre, pour ces 2 contrôles personnalisés, ont-ils tous les deux se construisent avant ou l'autre des événements Page_Init appelée?

Je l'ai fait quelques tests avec un débogueur et tel, mais je suis vouloir une réponse définitive à ces questions. Je ne veux pas faire de code qui fonctionne seulement parfois.

Répondre

3

Le official page in the documentation décrit le cycle de vie de la page dans les détails, mais une image vaut mille mots:

ASP.Net lifecycle

Si je comprends bien, les contrôles sont construits entre le PreInit et Init de la page. Ainsi, Init méthodes de contrôle sont appelées avant la méthode Init de la page.

Selon le schéma, Construct et FrameworkInitialize sont appelés chaque contrôle avant l'événement Init sont tirés, ce qui signifie que tous les contrôles devraient être construits et disponibles lors de l'entrée méthode Init d'un contrôle spécifique.

+0

Ok, mais cela ne répond pas à la question plus importante. Est-ce que tous les contrôles d'une page seront construits avant d'appeler l'une des méthodes 'init' des contrôles? – Earlz

+0

Oh, désolé, je n'ai pas compris la question comme ça. Je vais éditer ma réponse. – Wookai

+0

* imprime le schéma et se bloque au mur * Wow, ce diagramme donne presque trop d'informations lol. – Earlz

Questions connexes