ASP.NET cookie 操作詳解cookie 寫入、讀取、修改、刪除

//寫入
    protected void Button2_Click(object sender, EventArgs e)
     {
         HttpCookie cookie=new HttpCookie("MyCook");//初使化並設置Cookie的名稱
         DateTime dt=DateTime.Now;
         TimeSpan ts = new TimeSpan(0, 0, 1,0,0);//過期時間爲1分鐘
         cookie.Expires = dt.Add(ts);//設置過期時間
         cookie.Values.Add("userid", "userid_value");
         cookie.Values.Add("userid2","userid2_value2");
         Response.AppendCookie(cookie);
        //輸出該Cookie的所有內容
        //Response.Write(cookie.Value); //輸出爲:userid=userid_value&userid2=userid2_value2
     }

    //讀取
    protected void Button1_Click(object sender, EventArgs e)
     {

       // HttpCookie cokie = new HttpCookie("MyCook");//初使化
        if (Request.Cookies["MyCook"]!=null)
         {
            //Response.Write("Cookie中鍵值爲userid的值:" + Request.Cookies["MyCook"]["userid"]);//整行
            //Response.Write("Cookie中鍵值爲userid2的值" + Request.Cookies["MyCook"]["userid2"]);
             Response.Write(Request.Cookies["MyCook"].Value);//輸出全部的值
         }
     }

    //修改Cookie
    protected void Button3_Click(object sender, EventArgs e)
     {
        //獲取客戶端的Cookie對象
         HttpCookie cok = Request.Cookies["MyCook"];
       
        if (cok != null)
         {
         //修改Cookie的兩種方法
             cok.Values["userid"] = "alter-value";
             cok.Values.Set("userid", "alter-value");

          //往Cookie里加入新的內容
              cok.Values.Set("newid", "newValue");
              Response.AppendCookie(cok);
         }

     
     }
    //刪除Cookie
    protected void Button4_Click(object sender, EventArgs e)
     {

         HttpCookie cok = Request.Cookies["MyCook"];
        if (cok != null)
         {
            if (!CheckBox1.Checked)
             {
                 cok.Values.Remove("userid");//移除鍵值爲userid的值
             }
            else
             {
                 TimeSpan ts = new TimeSpan(-1, 0, 0, 0);
                 cok.Expires = DateTime.Now.Add(ts);//刪除整個Cookie,只要把過期時間設置爲現在
             }
             Response.AppendCookie(cok);
         }
     }

 

 

 


以前寫程序都沒去關注Cookie的應用,因爲ASP.NET在客戶端保存數據的方式比較多,且以前寫的程序都沒有用到Cookie,所以就沒去了解,今天有個程序總是用Cookie出錯。現在在網上查查Cookie的常用方法。
Cookie的用法也和ASP中差不多。比如我們建立一個名爲user,值爲111的cookie
HttpCookie cookie = new HttpCookie("user");
cookie.Value = "111";
Response.AppendCookie(cookie);
我們取出Cookie值也很簡單
HttpCookie cookie = Request.Cookies["user"];
cookieValue = cookie.Value;
有時候我們想在一個Cookie中儲存多個信息,那也沒有問題。比如我們在名爲user的cookie下加多個信息
HttpCookie cookie = new HttpCookie("user");
cookie.Values.Add("name","222");
cookie.Values.Add("pwd","333");
cookie.Values.Add("member","admin");
Response.AppendCookie(cookie);
從客戶端獲取取信息也一樣簡單
HttpCookie cookie = Request.Cookies["user"];
value1 = cookies.Values["name"];
value2 = cookies.Values["pwd"];

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章