准备开始写后台代码了,不过刚看到cookies就傻眼了,网上搜集了一些资料,总结了一下,初学者可以看看。

创建COOKIES

System.Web.HttpCookie cookie=new HttpCookie("uid");//建立一个名为uid,值为20的cookie
cookie.Value="20";
cookie.Expires=DateTime.Now.AddDays(1);
Response.AppendCookie(user_cookies_id);

给COOKIES赋值
Response.Cookies["uid"].Value = "20";
Response.Cookies["LoginCode"].Value = "58469";

控制COOKIES的有效期

Response.Cookies["uid"].Expires = DateTime.Now.AddDays(1);
Response.Cookies["LoginCode"].Expires = DateTime.Now.AddDays(1);

上面是分别对两个变量的有效期的1天,当然也是几小时,方法如下:
Response.Cookies["LoginCode"].Expires =DateTime.Now.AddHours(1);
这是有效期为1小时,可以类推成几分钟,几秒等等。

删除COOKIES

调用 Cookies集合的 Remove方法可从服务器端的集合中移除 Cookie,使 Cookie 不会被发送至客户端。但是,如果客户端已存在 Cookie,则向 Cookie 分配已过去的到期日期:

    1. 确定 Cookie 是否存在,如果存在则创建同名的新 Cookie。

    2. 将 Cookie 的到期日期设置为过去的某一时间。

    3. 将 Cookie 添加到 Cookies 集合对象。

      下面的代码示例演示如何为 Cookie 设置已过去的到期日期。

1.

Response.Cookies.Remove("MyCookie"); 

Response.Redirect("....") // 转向  

 2.

if (Request.Cookies["UserSettings"] != null)
{
    HttpCookie myCookie = new HttpCookie("UserSettings");
    myCookie.Expires = DateTime.Now.AddDays(-1d);
    Response.Cookies.Add(myCookie);
}

 

如何获得这些COOKIES的值呢?(一般在调用之前会先判断一下,此COOKIES是否存在)。方法:

 if (Request.Cookies["uid"] != null)
{
       string ruid = Request.Cookies["uid"].Value;
}


 

在一个Cookie中储存多个信息:

比如在名为aspcn的cookie下加多个信息

HttpCookie cookie = new HttpCookie("aspcn"); 

cookie.Values.Add("webmaster","灌水小鱼"); 

cookie.Values.Add("writer","beige"); 

cookie.Values.Add("LinkColor","blue"); 

Response.AppendCookie(cookie);