본문 바로가기
[ Web ]/ASP.NET

Page_Load 이벤트의 동작원리

by 관이119 2013. 1. 25.



출처 - http://www.cyworld.com/colds1004/6715422


Page_Load 이벤트의 동작원리

 

vs2003에서는 Page_Load(object sender, EventArgs e) 이벤트의 동작원리가 비하인드(.cs) 코드에 보여지는데

vs2008에서는 찾을수가 없습니다.(사용자의 편리성을 위해 안보이는 부분으로 이동된 듯합니다.)

 

vs2003 솔루션 파일을 vs2008에서 작업하다보니 Page_Load이벤트가 실행이 안되더군요.

웹페이지 생성하면 당연히 생기는 메서드, 이벤트여서 동작원리는 알지 못하였는데 이번에 다시 보는 좋은 기회가 되었어요.

 

 OnInit 메서드에 override하여 Load 이벤트에 Page_Load 이벤트를 추가한다

 

1. Page 이벤트 중의 하나인 OnInit 메서드에 override를 작성한다.

    override protected void OnInit(EventArgs e)
    {
           InitializeComponent();
           base.OnInit(e);
    }

 

2. Load 이벤트에 Page_Load 이벤트를 추가한다
    private void InitializeComponent()
    {
           this.Load += new System.EventHandler(this.Page_Load);
    }

 

3. Page_Load(object sender, System.EventArgs e) 이벤트가 실행된다.

    private void Page_Load(object sender, System.EventArgs e)
    {

           // object 타입인 sender는 이벤트를 발생시킨 자신을 말한다
           // EventArgs 타입인 e는 이벤트가 발생할때 발행자에게 전달한 데이터를 담는다. 데이터 정의 기본 클래스임

 


            if (!IsPostBack)
            {
                //포스트백 페이지가 아닐경우 처리
            }
   
            System.Web.HttpContext.Current.Response.Write("<link rel='stylesheet' type='text/css' href='/css/template/kr/test.css'>");
            //비하인드코드에서 aspx페이지의 css 설정 부분 추가    
       }       

댓글