본문 바로가기

ASP.Net

페이지 수명 주기

페이지 수명주기 란?

  ASP.NET 페이지가 실행되면 이 페이지는 일련의 처리 단계를 수행하는 수명 주기를 거칩니다.   <중략> .. 컨트롤의 수명 주기는 페이지 수명 주기를 기반으로 하지만 페이지에서는 컨트롤에 대해 ASP.NET 페이지에 허용되는 것보다 많은 이벤트를 발생시킵니다.


페이지 수명주기를이해해야 하는 이유는 , 각 Page Event마다 적절한 로직을 추가하여 원하는 결과를 낼 수 있기 때문입니다.

Ex_ 공통적으로 상속받는 BasePage의 OnpreRender 이벤트에 공통으로 사용하는 js, css, javascript변수를 추가 하여 불필요한 중복 소스를 피할 수 있음.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 protected override void OnPreRender(EventArgs e)
 {
    //전역으로 사용하는 js 변수 추가
    StringBuilder strBuilder = new StringBuilder(200);
    strBuilder.AppendFormat("var {0} = '{1}';\n""_DateFormat""yyyy-MM-dd");
    strBuilder.AppendFormat("var {0} = '{1}';\n""_TIMEZONE""09:00:00"); 
    strBuilder.Append("</script>\n");
    this.Page.Header.Controls.AddAt(0new LiteralControl(strBuilder.ToString()));
    strBuilder.Clear();
    strBuilder = null;
 
    //공통으로 사용하는 js,css 
    headerIncludeFiles.Add("/Script/jquery-last.js", HeaderScriptType.Script);
    headerIncludeFiles.Add("/Script/Common.js", HeaderScriptType.Script);
    headerIncludeFiles.Add("/Css/Common.css", HeaderScriptType.Css);
}
 
cs



1. 아래는 페이지 이벤트에 따른 페이지 메서드를 정리한 내용입니다.

    - Page methods : 해딩 이벤트에 호출되는 서버측 메서드 (C#)

    - Page events : 페이지 수명주기 명칭

    - Control methods and events 컨트롤 수명주기

ASP.NET Page Life Cycle Diagram






2. 마스터페이지와 콘텐츠 간의 이벤트 우선순위

   - 여기서 눈여겨 보아야 할 점이 콘텐츠의 페이지 로드 이벤트가 마스터 페이지의 로드이벤트

     보다 먼저 발생된다는 점입니다.

    1. 마스터 페이지 컨트롤의 Init 이벤트

    2. 콘텐츠 컨트롤의 Init 이벤트

    3. 마스터 페이지의 Init 이벤트

    4. 콘텐츠 페이지의 Init 이벤트

    5. 콘텐츠 페이지의 Load 이벤트

    6. 마스터 페이지의 Load 이벤트

    7. 콘텐츠 컨트롤의 Load 이벤트

    8. 콘텐츠 페이지의 PreRender 이벤트

    9. 마스터 페이지의 PreRender 이벤트

    10. 마스터 페이지 컨트롤의 PreRender 이벤트

    11. 콘텐츠 컨트롤의 PreRender 이벤트

[출처] MSDN