2010-12-17 2 views
37

마스터 페이지와 마스터 페이지를 사용하는 웹 페이지가 있습니다.어떤 이벤트가 먼저 호출 되었습니까? 마스터 페이지 Page_Load 또는 콘텐츠 페이지 Page_Load

두 경우 모두 Page_Load 이벤트 처리기가 있습니다.

Page_Load 핸들러는 어떤 순서로 호출됩니까? 콘텐츠 처음으로 다음 마스터 또는 마스터 먼저 다음 내용?

+9

왜 단순히 시도하지 않으시겠습니까? 마스터 페이지가있는 페이지를 만들고, 두 이벤트를 처리하고, 중단 점을 설정하고 디버거를 실행하십시오. –

답변

74

콘텐츠 페이지로드 이벤트가 마스터 페이지로드 이벤트 전에 발생합니다가. 링크가 죽은 간다 넣다 : (ASP.NET 마스터 페이지와 콘텐츠 페이지에서 이벤트 MSDN)

복사 :

전체 주문 here를 참조

다음 이벤트가 마스터 페이지가있을 때 발생하는 순서입니다 콘텐츠 페이지와 병합 :

1 - 콘텐츠 페이지 PreInit 이벤트.

2 - 마스터 페이지가 Init 이벤트를 제어합니다.

3 - 콘텐트는 Init 이벤트를 제어합니다.

4 - 마스터 페이지 초기화 이벤트.

5 - 콘텐츠 페이지 초기화 이벤트.

6 - 내용 페이지로드 이벤트.

7 - 마스터 페이지로드 이벤트.

8 - 마스터 페이지가로드 이벤트를 제어합니다.

9 - 콘텐츠 페이지가 이벤트를로드합니다.

10 - 내용 페이지 PreRender 이벤트.

11 - 마스터 페이지 PreRender 이벤트.

12 - 마스터 페이지가 PreRender 이벤트를 제어합니다.

13 - 내용 페이지가 PreRender 이벤트를 제어합니다.

14 - 마스터 페이지가 언로드 이벤트를 제어합니다.

15 - 콘텐츠 페이지가 언로드 이벤트를 제어합니다.

16 - 마스터 페이지 언로드 이벤트.

17 - 콘텐츠 페이지 이벤트 언로드.

+2

여기서주의해야 할 중요한 사항은 다른 이벤트와 다른 순서로로드 이벤트 발생을 제어하는 ​​것입니다. 마스터 페이지의 컨트롤은 컨텐츠 페이지가로드 이벤트를 제어하기 전에 이벤트 실행을로드합니다. –

10

지금까지 MasterPage 모든 규칙은 사용자 컨트롤로에 적용되는 사용자 컨트롤 참으로 :

alt text

2

마스터 페이지는 가장 깊은 중첩 레벨에서 Page_Load()를 실행합니다. 따라서 중첩 된 웹 페이지는 먼저 page_load 이벤트를 실행합니다.

관련 문제