ASP.NET及JS中的cookie基本用法

字號:


    ASP.NET中的cookie寫法:
    protected void Button1_Click(object sender, EventArgs e)//寫cookie
    {
    HttpCookie cookie = new HttpCookie("name");//兩個名稱不一樣;1:實例化一個cookie對象(相當于鍵值對name是鍵cookie是值)
    cookie.Value = "marry"; //2:給cookie值
    cookie.Expires = DateTime.Now.AddDays(1); //3:cookie的過期時間(在當前時間上加任意多少任意單位的過期時間);如果不設置過期時間cookie不會寫到硬盤上,只存在于內(nèi)存中,當關(guān)閉瀏覽器時這塊內(nèi)存就回收cookie就沒了;(臨時cookie)
    Response.Cookies.Add(cookie);//4:真正執(zhí)行將對象放到集合中
    }
    protected void Button2_Click(object sender, EventArgs e)//讀cookie
    {
    if (Request.Cookies["name"] != null)//讀取
    {
    TextBox1.Text = Request.Cookies["name"].Value;//Cookies["name"]表示上面定義的cookie里是鍵值對.value才是值
    }
    else
    {
    TextBox1.Text="沒有呦!";
    }
    }
    js中cookie的寫法:
    function writecookie() {
    var today = new Date();
    today.setDate(today.getDate() + 1);
    document.cookie = 'name=我的歌聲里;expires=' + today.toGMTString();//設置cookie值和cookie的過期時間放在document里
    document.cookie = 'username=曲婉婷;expires=' + today.toGMTString();
    document.cookie = 'password=123;expires=' + today.toGMTString();
    }
    function read()//讀cookie中的值
    {
    //讀多個
    var cookie = document.cookie;
    var arry = cookie.split(';');
    alert(arry);
    for (var i in arry) //與c#中的有所不同
    {
    var a = arry[i].split('=');
    // if (a[0] == " username")//一個cookie文件中如果有多個cookie用這種方法讀時,第一個名稱前沒有空格,以后的名稱前都有空格都要加空格;用trim去空格
    // {
    // alert(a[1]);
    // }
    if (a[0].trim(' ')=="username")//一個cookie文件中如果有多個cookie用這種方法讀時,第一個名稱前沒有空格,以后的名稱前都有空格都要加空格;用trim去空格(??????有問題啊?怎么說不支持trim呢火狐就行ie不行可能配置問題什么問題呢?)
    {
    alert(a[1]);
    }