跨頁面傳值2之cookie多值使用


單值cookie結構

CookieKeyName——CookieValue

CookieKeyName2——CookieValue2

...............

通過CookieKeyName進行設置和調用(主鍵名稱)

類似於字符串變量

 

多值Cookie 結構

【主鍵(Key)名稱】

    【子健(key)名稱】:【子健值】

    【子健(key)名稱2】:【子健值2】

    【子健(key)名稱3】:【子健值3】

【主鍵(key)名稱2】

      【子健(key)名稱】:【子健值】

    【子健(key)名稱2】:【子健值2】

    【子健(key)名稱3】:【子健值3】

注意:最終我們需要調用子健值,需要挖2層才能看到子健值。更像一個字符串數組

Cookie操作需要掌握

單值Cookie            多值Cookie

添加(修改)          主鍵操作

刪除                -添加

                  -刪除

                 子健操作

                  -添加

                  -刪除

                  -修改

多值Cookie的添加

HttpCookie ck =new HttpCookie(“mulitCookie”)  主鍵“mulit”

ck.value.add("name","小王");       子健“name”

ck.value.add("age","18");

ck.value.add("sex","男");

ck.Expires=DateTime.MaxValue;

Response.Cookie.add(ck);

 

多值Cookie主鍵刪除

方法與清楚單值的Cookie完全相同

  ck.Expires=DateTime.Minvalue;

  Response.Cookie["keyname"].Expires=datetime.minvalue;

另一種非標准的寫法:

  ck=response.cookie["keyname"];

  會在會話期間,保留一個沒有Value的空key

 

子健修改

對子健的調用:Cookie.Value對象集合添加一個子項:ck.value.add("...","...")

修改子健的值:ck.value.set("keyname","newkeyname");

 

注意:子健值的修改,不能象單值Cookie用add,而必須用set。

實例:

  

  protected void btnx_Click(object sender, EventArgs e)
    {
        //聲明Cookie並創建
        HttpCookie ck = new HttpCookie("cookie");
        //設置子健值
        ck.Values.Add("name","張三");
        ck.Values.Add("sex","");
        ck.Values.Add("age","18");
        //設置過期時間:永不過期
        ck.Expires = DateTime.MaxValue;
        //寫入客戶端
        Response.Cookies.Add(ck);
        
    }
    //跳轉接受頁面
    protected void btnlogin_Click(object sender, EventArgs e)
    {
        Response.Redirect("CookieInfo.aspx");
    }
    //刪除Cookie
    protected void btndelect_Click(object sender, EventArgs e)
    {
        //刪除整個Cookie
        Response.Cookies["cookie"].Expires = DateTime.MinValue;

    }
    //修改子健
    protected void btnupdate_Click(object sender, EventArgs e)
    {
        string upname = txtname.Text;
        if (upname!="")
        {
            HttpCookie ck = Request.Cookies["cookie"];
            ck.Values.Add("name", upname);
            ck.Expires = DateTime.MaxValue;
            //寫入客戶端
            Response.Cookies.Add(ck);
        }
    }

 

 

 

接收

 protected void Page_Load(object sender, EventArgs e)
    {
        if (Response.Cookies["cookie"]!=null)
        {
            //這樣寫語句太長,台繁瑣
            //lab.Text += Request.Cookies["cookie"].Values["name"] + ",";
            //lab.Text += Request.Cookies["cookie"].Values["sex"] + ",";
            //lab.Text += Request.Cookies["cookie"].Values["age"] + "歲";

            //這樣寫一幕了然,Response  是響應頁的對象  Request是請求頁的對象
            HttpCookie _ck;
            _ck = Request.Cookies["cookie"];
            lab.Text = _ck.Values["name"] + "," + _ck.Values["sex"] + "," + _ck.Values["age"] + "";

        }

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM