Blog Content

    티스토리 뷰

    58.C# ASP.NET - 클라이언트 측 ( Cookies ) [상태관리6]

    반응형
    클라이언트측 보관
    - Cookies
    : 웹 브라우저에 임시 보관 또는 텍스트파일 형태로 영구보관

    해당 페이지에 버튼을 추가하고 버튼에 대한 클릭 이벤트를 추가합니다.
    FrmCookies.aspx

    <html xmlns="http://www.w3.org/1999/xhtml">

    <head runat="server">

        <title></title>

    </head>

    <body>

        <form id="form1" runat="server">

        <div>

        <asp:Button ID="btnAddCookies" runat="server" Text="쿠키의 현재시간 저장" />

        </div>

        </form>

    </body>

    </html>


    FrmCookies.aspx.cs

    protected void btnAddCookies_Click(object sender, EventArgs e)

    {

       //현재 시간을 쿠키에 저장

       Response.Cookies["NOW"].Value = DateTime.Now.ToShortTimeString();

     

       //저장과 동시에 쿠키 읽어오기

       if (Request.Cookies["NOW"] != null) //예외처리가 반드시 필요하다.

       {

           string now = Request.Cookies["NOW"].Value;

           Response.Write("방금 구운 쿠키 : " + now);

       }

    }


    //현재 시간을 쿠키에 저장(다른것임)

    //Response.Cookies["NOW"].Expires = DateTime.Now.AddDays(30); //30일간 저장 가능

    // 코드 주석처리 하게 되면 계속 살아 남고 그렇지 않으면 브라우저가 닫히면 자동으로 소멸된다.


    결과화면

    [그림58-1]


    현재의 쿠키값을 다른 페이지에서 보는 예제
    새 항목 추가 - Web Form (FrmCookiesShow)
    FrmCookiesShow.cs

    10 protected void Page_Load(object sender, EventArgs e)

    11 {

    12    //쿠키 읽어오기

    13    if (Request.Cookies["NOW"] !=null)

    14    {

    15        // 브라우저에 임시로 저장된다.

    16        //영구저장이 가능 : 파일로

    17        string now = Request.Cookies["NOW"].Value;

    18        Response.Write(

    19           "FrmCookies 페이지에서 구운 쿠키 : " + now);

    20    }

    21 

    22    //코드레벨에서 HttpCookie 클래스 사용해서 쿠키 생성

    23    HttpCookie myName = new HttpCookie("MyName");

    24 

    25    //Value, Values 두개 있다. 한개만, 여러개

    26    myName.Values.Add("Name", "용준");

    27    myName.Values.Add("Nick", "RedPlus"); ;

    28 

    29    Response.Cookies.Add(myName);

    30 

    31    //Name Nick 따로 출력

    32    //하나의 객체(23)에서 따로따로 불러오는것 가능

    33    Response.Write(myName.Values["Name"] + "<br/>");

    34    Response.Write(myName.Values["Nick"] + "<br/>");

    35 

    36    //읽어오는 페이지 따로따로

    37    HttpCookie saved = Request.Cookies["MyName"]; //결과는 33,34 동일

    38 }


    결과확인

    [그림58-2]



    반응형

    Comments