Blog Content

    티스토리 뷰

    14.C# ASP.NET - PageLoad

    반응형
    처음 로드 되었느냐 버튼을 클릭해서 다시 게시되었느냐에 대해 알아두기
    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]



    반응형

    Comments