准备开始写后台代码了,不过刚看到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 分配已过去的到期日期:
-
确定 Cookie 是否存在,如果存在则创建同名的新 Cookie。
-
将 Cookie 的到期日期设置为过去的某一时间。
-
将 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);