ASP.NET

14.C# ASP.NET - PageLoad

Godffs 2009. 10. 5. 17:19
반응형
처음 로드 되었느냐 버튼을 클릭해서 다시 게시되었느냐에 대해 알아두기
FrmPageLoad : IsPostBack

FrmPageLoad.aspx

<div>

 <asp:Button ID = "btnPostBack" runat = "server" Text = "다시 게시(PostBack)"

        onclick="btnPostBack_Click" />

 <asp:Button ID = "btnNewLoad" runat = "server" Text = "다시 로드"

        onclick="btnNewLoad_Click" />

</div>


FrmPageLoad.aspx.cs

//처음 로드(NewLoad) 다시 게시(PostBack)

protected void Page_Load(object sender, EventArgs e)

{

    //처음 로드된 상태라면

    if (Page.IsPostBack == false) //다시 게시가 아니라면,

    {

      Response.Write("[1] 처음 로드되었습니다.<br />");

    }

    //같은 방법을 다른 코드로....

    if (!Page.IsPostBack) //다시 게시가 아니라면,

    {

      Response.Write("[2] 처음 로드되었습니다.<br />");

    }

    if (!IsPostBack) //다시 게시가 아니라면,

    {

      Response.Write("[3] 처음 로드되었습니다.<br />");

    }

 

    //다시 게시 상태라면

    if (Page.IsPostBack == true)

    {

      Response.Write("[4] 포스트백(다시게시) 되었습니다. <br />");

    }

 

    //처음로드 <> 다시게시

    if (!Page.IsPostBack)

    {

      Response.Write("[5] 처음 로드되었습니다. <br />");

    }

    else

    {

      Response.Write("[6] 포스트백(다시게시) 되었습니다. <br/>");

    }

 

    //[!] Page_Load() 이벤트 처리기는 처음 로드하거나

         // 버튼이 클릭할 때마다 실행

    Response.Write("[7] 폼이 로드할 때마다 실행 <br />");

}

protected void btnPostBack_Click(object sender, EventArgs e)

{

    //Page.ClientScript.RegisterClientScriptBlock() : 자바스크립트 호출

    string strJs = @"

        <script>

                alert('포스트백');

        </script>

    ";

    //Page 클래스로 부터 상속 받기 때문에 생략 가능하다.

    //RegisterClientScriptBlock msdn에서 찾아서 검색하기

    Page.ClientScript.RegisterClientScriptBlock(

        this.GetType(), "msg", strJs);

}

 

protected void btnNewLoad_Click(object sender, EventArgs e)

{

    //현재 페이지로 다시 이동 : 다시 로드

    // 깜빡이고 로드

    Response.Redirect(Request.ServerVariables["SCRIPT_NAME"]);

}


결과화면

[그림14-1]



반응형