페이지 수명 주기
페이지 수명주기 란?
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
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
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");
strBuilder = null;
//공통으로 사용하는 js,css
}
http://colorscripter.com/info#e" target="_blank" style="color:#4f4f4ftext-decoration:none">Colored by Color Scripter
|
http://colorscripter.com/info#e" target="_blank" style="text-decoration:none;color:white">cs |
1. 아래는 페이지 이벤트에 따른 페이지 메서드를 정리한 내용입니다.
- Page methods : 해딩 이벤트에 호출되는 서버측 메서드 (C#)
- Page events : 페이지 수명주기 명칭
- Control methods and events 컨트롤 수명주기
2. 마스터페이지와 콘텐츠 간의 이벤트 우선순위
- 여기서 눈여겨 보아야 할 점이 콘텐츠의 페이지 로드 이벤트가 마스터 페이지의 로드이벤트
보다 먼저 발생된다는 점입니다.
-
마스터 페이지 컨트롤의 Init 이벤트
-
콘텐츠 컨트롤의 Init 이벤트
-
마스터 페이지의 Init 이벤트
-
콘텐츠 페이지의 Init 이벤트
-
콘텐츠 페이지의 Load 이벤트
-
마스터 페이지의 Load 이벤트
-
콘텐츠 컨트롤의 Load 이벤트
-
콘텐츠 페이지의 PreRender 이벤트
-
마스터 페이지의 PreRender 이벤트
-
마스터 페이지 컨트롤의 PreRender 이벤트
-
콘텐츠 컨트롤의 PreRender 이벤트
[출처] MSDN