위즈군의 라이프로그
Reboot... Search /

[ASP.NET] ASP.NET 이벤트 발생 순서

2004.03.12 20:32

책을 보면서 ASP.NET page의 이벤트 순서를 간단하게 정리를 해봤습니다.
이벤트의 순서를 알면 ASP.NET을 이용해 개발하는 패턴을 이해 할 수 있습니다.

이벤트의 큰 흐름은 아래와 같이 간단합니다.

가. 요청 페이지의 이전 상태값을 읽는다.
나. 요청 페이지의 변화된 값을 읽는다.
다. 변화된 값에 대한 처리를 한다. (사용자의 구현부분)
라. 변화된 값을 저장 한다.


asp.net page의 이벤트 발생 순서

사용자 삽입 이미지

1. 클라이언트의 페이지 요청
클라이언트는 함은 IE뿐 아니라 모바일 기기와 같이 asp.net페이지에 접근하는 모든 장비를 말합니다.

2. Initialize :  ASP.NET Framework 에서 클라이언트 요청을 처리하기 위해 Init 이벤트를 보내서 OnInit() 메소드를 호출 합니다. 대부분 이 단계에서 객체를 생성합니다.

3. Load View State
: 컨트롤의 Viewstate 값을 읽어들일때 발생합니다. 포스트백 되는 경우 PostBack된 ViewState 값을 읽어드립니다. LoadViewState()를 사용해 사용자 코드를 추가 할 수 있습니다.

4. Process PostBack Data
: System.Web.UI.IPostBackDataHandler 인터페이스를 구현하는 컨트롤에서 PostBack 데이터를 해석할 때 발생하게 됩니다. LoadPostData() 메서드를 통해 오버라이딩을 할 수 있습니다.

5. Load
: 컨트롤 트리에서 컨트롤에 접근 할 수 있는 최초의 이벤트라고 할 수 있습니다. 컨트롤들의 초기화가 이루어진다. 컨트롤에 대한 설정을 여기에서 구현하시면 됩니다.

6. Send PostBack Change Notifications
: 포스트백 된 데이터가 변경되었을 경우 발생하는 이벤트로 System.Web.UI.IPostBackDataHandler 인터페이스에서 상속 받았고, RaisePostDataChangedEvent() 메소드를 이용해 오버라이딩 가능합니다.

7. Handle PostBack Events
: 클라이언트에서 PostBack 이벤트를 발생시킨 컨트롤에 대응하는 메소드 호출 하는 단계 입니다. 각 이벤트에 대한 처리를 구현하면 됩니다.

8. Prerender
: 런더링 하기전에 발생하는 이벤트입니다. 컨트롤에 대한 접근할 수 있는 마지막 단계로 결과를 출력을 하기전에 최종적으로 처리해야 할 내용을 구현하면 됩니다.

9. Save State
: 컨트롤들의 상태와 설정값을 ViewState에 저장 할 때 발생 합니다. SaveViewState() 메서드를 오버라이드해서 사용자의 처리내용을 구현할 수 있습니다.

10. Render
: 클라이언트에 출력할 내용으로 변경 할 때 발생 합니다. 여기에서 만들어진 데이터가 클라이언트로 보내집니다. Render() 메소드를 통해 오버라이딩 할 수 있습니다.

11. Dispose
: 사용했던 모든 리소스를 제거 할때 발생 합니다. Dispose() 메소드를 오버라이딩 해서 추가로 제거 할 리소스를 제거하면 됩니다.


저장한 값과 변경된 값을 비교해 사용자의 액션을 처리 하는 단순한 로직을 반복함으로서 구성이 됩니다.
참고가 되셨으면 합니다.

신고
.netToCom 2009.02.18 16:37 신고 E / R
오오~좋은 자료~ 잘봤어요`
위즈 2009.02.18 19:52 신고 E
오래전에 작성한 것이라..^^
즐거운 하루되세요.^^
Name : Password : Blog : ( )

위즈군의 라이프로그

Category

전체 (569)
개발 (0)
정보 (0)
일상 (0)
정리중 (569)
Total:2,070,045
Today:280 / Yesterday:197
Daum 코드
Powered by Tistory / Skin by 위즈 / Copyright Click Here 라이센스정책 rss 2.0