2010-12-17 12 views
37

Ich habe eine Masterseite und eine Webseite, die die Masterseite verwendet.Welches Ereignis hat zuerst angerufen? Masterseite Page_Load oder Inhaltsseite Page_Load

In beiden habe ich einen Page_Load Event-Handler.

In welcher Reihenfolge werden die Page_Load Handler aufgerufen? Inhalt zuerst dann Master oder Master zuerst dann Inhalt?

+9

Warum nicht einfach ausprobieren? Erstellen Sie eine Seite mit einer Masterseite, behandeln Sie beide Ereignisse, setzen Sie Haltepunkte und führen Sie Ihren Debugger aus. –

Antwort

74

Die Inhaltsseite Ladeereignis vor der Master-Seite Load-Ereignis ausgelöst wird.

Siehe here für vollen Auftrag (MSDN: Veranstaltungen in ASP.NET Master-und Content-Seiten)

Kopieren einhüllen Link tot geht:

Das folgende ist die Reihenfolge, in den Ereignisse auftreten, wenn eine Master-Seite ist Zusammenführung mit einer Inhaltsseite:

1 - Inhaltsseite PreInit-Ereignis.

2 - Masterseitensteuerung Init-Ereignis.

3 - Inhaltssteuerelemente Init-Ereignis.

4 - Init-Ereignis der Masterseite.

5 - Inhaltsseite Init-Ereignis.

6 - Inhaltsseite Ereignis laden.

7 - Masterseite Ereignis laden.

8 - Steuerelemente der Master-Seite Ereignis laden.

9 - Steuerung der Inhaltsseite Ereignis laden.

10 - Inhaltsseite PreRender-Ereignis.

11 - Master-Seite PreRender-Ereignis.

12 - Masterseite steuert PreRender-Ereignis.

13 - Inhaltsseite steuert PreRender-Ereignis.

14 - Steuerelemente der Masterseite Ereignis entladen.

15 - Steuerung der Inhaltsseite Ereignis entladen.

16 - Masterseite Ereignis entladen.

17 - Inhaltsseite Ereignis entladen.

+2

Was hier zu beachten ist, ist, dass die Steuerelemente das Ereignisfeuer in unterschiedlicher Reihenfolge laden als andere Ereignisse. Die Steuerelemente der Masterseiten laden das Ereignisfeuer, bevor die Steuerelemente der Inhaltsseite das Ereignis laden. –

10

Soweit Masterpage ist in der Tat ein Benutzer die Kontrolle alle Regeln, um es Kontrollen für Benutzer angewendet:

alt text

2

Masterseiten führen Page_Load() von der tiefsten Verschachtelungsebene nach außen aus. Ihre verschachtelte Webseite führt also zuerst das Ereignis page_load aus.

Verwandte Themen