일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 우분투
- 윈도우 8
- ubuntu
- 이보드
- D330
- Lenovo D330-10igm
- 셀프인테리어
- 네트워크
- 안드로이드
- Web Programming
- D330-10igm
- 피들러
- HTML5
- 인테리어
- 보안
- 자바스크립트
- ASP.NET
- 고전게임기 만들기
- 한컴오피스
- 단열
- WEB
- 웹
- 진단항목
- 문자열
- network
- 인증 및 세션관리
- retropie
- 고전게임
- fiddler
- c#
- Today
- Total
Kinesis´s Open Document
ASP.NET C# - System.Web.UI.Page 내 On 이벤트 처리와 관련한 메모 본문
ASP.NET C# - System.Web.UI.Page 내 On 이벤트 처리와 관련한 메모
Kinesis 2012. 10. 12. 15:50System.Web.UI.Page 내 On 이벤트 처리와 관련한 메모
ASP.NET 으로 웹 서비스를 만들다 보면 System.Web.UI.Page 에 정의되어 있는 일부 이벤트를 override 하여 사용하게 된다.
이 중 자주 쓰이게 되는 요소로 OnPreInit, OnInit, OnInitComplete, OnPreLoad, OnLoad, OnLoadComplete 등과 같은 이벤트를 재정의 하여 사용하게 되는데 특히 라이브러리를 이용해서 상속 받는 요소를 System.Web.UI.Page 로 바로 받지 않고 클래스 라이브러리에 정의한 녀석을 받는 경우에 대해서 기록해둔다.
Kinesis 라는 새로운 클래스 라이브러리 프로젝트를 생성한다.
iPage 라는 public 형 class 를 만들어 On 처리 이벤트를 override 한다.
Kinesis 라는 클래스 라이브러리를 컴파일 하고 웹 서비스 bin 폴더에 넣는다.
웹 페이지(aspx)를 만들고 cs 페이지에서 System.Web.UI.Page 를 Kinesis.iPage 와 같이 작성한 것으로 변경한다.
필요에 따른 On 처리 이벤트를 override 한다.
이 경우 override 된 On 처리 이벤트는 단수가 아닌 복수가 된된다. 설명을 쉽게 하기위해 파일 구성을 Default.aspx(.cs) 와 iPage.cs 2개로 가정했을때 호출되는 순서는 Default.aspx.cs 에서 override 한 On 처리이벤트가 우선 호출된다. 즉 Default.aspx.cs 에 있는 override 된 OnLoad 가 호출이되고 해당 함수 내에서 base.OnLoad(e); 구문이 있을 경우에 iPage.cs 에서 override 된 OnLoad 가 호출된다는 이야기이다.
요 소 : (컴파일된 dll) OnLoad in iPage.cs , (IIS 내 Page) OnLoad in Default.aspx.cs
조 건 : 호출된 페이지 안에 (예: Default.aspx.cs) override 된 OnLoad() 함수가 있는가?
예 : OnLoad() 호출 in Default.aspx.cs
아니요 : OnLoad() 호출 in iPage.cs
조 건 : OnLoad() 함수 내에 base.OnLoad(e); 구문이 존재하는가?
예 : call OnLoad() in iPage.cs
아니오 : return;
결 론
조 건 : iPage.cs 에서 정의한 OnLoad 처리 이벤트가 호출이 되어야만 하는가?
예 - 조 건 : 해당 OnLoad 처리 이벤트가 호출된 페이지 내에 override 되어 있는가?
예 : base.OnLoad(e); 구문의 추가를 통해서 iPage 에 정의된 OnLoad를 호출한다.
(처리순서에 따라 처음단이나 마지막 단에 배치하도록 한다)
아니오 : OnLoad 이벤트를 override 하지 않는다.
아니오 : 필요에 따라 처리
'MEMO/기술 자료 > C# Language' 카테고리의 다른 글
ASP.NET C# - DB(Database for MSSQL)를 이용한 Session 환경 구성하기 (0) | 2012.10.02 |
---|---|
ASP.NET C# - Dynamic XML in IIS7 / iis7 환경에서 다이나믹(동적) XML 구성하기 (2) | 2012.08.23 |
C# - 파일을 읽어들여 구분자 문자열(String)을 키(Key)로 활용하여 리스트 생성하기 예제 (0) | 2012.03.21 |
C# - 문자열(String)을 인덱스 키(Key)로 활용하여 값 처리 하기 (Dictionary) (0) | 2012.03.21 |
ASP.NET C# - IIS7.x 에서 AjaxPro (Ajax.NET Professional) 사용하기 (0) | 2012.02.24 |
ASP.NET C# - 웹서비스 폴더(디렉터리) 경로 얻어오기 (HttpContext) (0) | 2012.02.24 |
ASP.NET C# - 클라이언트 브라우저 정보 얻어오기 (HttpContext) (0) | 2012.02.24 |