ASP.NET初学者使用cookie的时候会感觉很陌生,在学习的过程中掌握cookie对象的增删改查非常有必要,,下面是我学习的时候经常用到的这些方法
写入和读取Cookie都需要用户Respone对象和Request对象,每一个Cookie对象都包含在Cookies这个键值对的集合中,可以通过索引和键值来操作Cookie
添加cookie(两种方法)
方法1
Response.Cookies["UserName"].Value = "12";//实例化一个名为UserName的值为12 Response.Cookies["UserName"].Expires = DateTime.Now.AddMinutes(1); //设置这个UserName的过期时间为1分钟(重点注意如果不添加过期时间,那么这个过期时间就是“会话”,浏览器关闭就不存在)
方法2:
HttpCookie cookies = new HttpCookie("UserName","zhanglin"); cookies.Expires.AddHours(1); Response.Cookies.Add(cookies);
删除cookie(方法就是添加同名的Cookie设置过期时间为过去的时间即可)
删除单个Cookie
HttpCookie aCookie= new HttpCookie("RON"); aCookie.Expires = DateTime.Now.AddDays(-); Response.Cookies.Add(aCookie);
删除多个Cookie
; i < Request.Cookies.Count; i++) { string cookiesName = Request.Cookies[i].Name; HttpCookie cookie = new HttpCookie(cookiesName); cookie.Expires = DateTime.Now.AddDays(-); Response.Cookies.Add(cookie); }
获取cookie的值
获取单个
通过Request响应,我们可以获取到Request.Cookies["RON"].根据原本的设定可以将Cookie的值读取出来。cookie.Value可以获取到Cookie保存的所有值。不过个人比较喜欢cookie["UserName"]的方式获取自己想要的cookie的值。
string Username= Request.Cookies["UserName"].Value(新手很容易忘了写.Value)
获取多个 在一个浏览器上面,可能保存了不止一个cookie。但是怎么获取所有的cookie呢。写个循环就出来了。
; i < Request.Cookies.Count; i++) { Response.Write("Cookie[" + i + "]的Name为:" + Request.Cookies[i].Name + "<br/>"); Response.Write("Cookie[" + i + "]的Value为:" + Request.Cookies[i].Value + "<br/>"); }
总结:关于Cookies的对象还有DoMain(作用域),Path(路径),有的还需要加密。初学者掌握以上Cookie的使用方法非常必要,明天准备写JS如何操作Cookie
web开发、seo站长交流、xamarin开发实力干货公众号