cookie 操作详解 (asp.net && javascript)

(1)ASP.NET cookie 操作详解|cookie 写入、读取、修改、删除2008年10月18日
    //写入
    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);
         }
     }

 

(2)javascript :
<script language="JavaScript" type="text/JavaScript">

//写cookies函数
function SetCookie(name,value)//两个参数,一个是cookie的名子,一个是值
{
    var Days = 30; //此 cookie 将被保存 30 天
    var exp = new Date();    //new Date("December 31, 9998");
    exp.setTime(exp.getTime() + Days*24*60*60*1000);
    document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString();
}
function getCookie(name)//取cookies函数       
{
    var arr = document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));
     if(arr != null) return unescape(arr[2]); return null;

}
function delCookie(name)//删除cookie
{
    var exp = new Date();
    exp.setTime(exp.getTime() - 1);
    var cval=getCookie(name);
    if(cval!=null) document.cookie= name + "="+cval+";expires="+exp.toGMTString();
}

SetCookie ("chris", "10")
alert(getCookie('chris'));
</script>

posted on 2009-05-04 10:28  八度空间  阅读(517)  评论(0编辑  收藏  举报

导航