ASP.NET-【状态管理】-Cookie小结
C:\Users\Administrator\Local Settings\Application Data\Google\Chrome\User Data\Default
protected void Page_Load(object sender, EventArgs e) { HttpCookie c1 = new HttpCookie("a", "123"); HttpCookie c2 = new HttpCookie("a", "456"); //注意覆盖了同名的cookie c2.Values.Add("e", "hello");//看看这个会是什么效果呢? 哈哈读取之后【js读取】 是 //a=456&e=hello;c=789; 会把hello一起写在Cookie “a”里面去 if (Request.Cookies["a"] != null) { //Response.Write(Request.Cookies["a"].Value);//456&e=hello //Response.Write(Request.Cookies["a"]["e"].ToString());//hello System.Collections.Specialized.NameValueCollection d = Request.Cookies["a"].Values; foreach (var item in d.AllKeys) { Response.Write(item + ":" + d[item] + "<br />"); //:456 //e:hello } } //设置一个过期时间 c2.Expires = DateTime.Now.AddMinutes(30); HttpCookie c3 = new HttpCookie("c", "789"); //如果要写入中文的话 请先编码好 string ch = Server.UrlEncode("中文="); HttpCookie c4 = new HttpCookie("d", ch); HttpCookie c5 = new HttpCookie("t", "="); Response.AppendCookie(c1); Response.AppendCookie(c2); Response.AppendCookie(c3); Response.AppendCookie(c4); Response.AppendCookie(c5); //总结:每实例化一个Cookie对象就会在浏览器中创建一个Cookie文件 //如果没有设置cookie过期时间,那么Cookie就是浏览器会话Cookie,浏览器关闭 Cookie就会消失 //如果实例化的Cookie有相同名字的,则后面的会覆盖前面的 //看上面的代码就知道怎么回事儿了 //Values Cookie集合Request.Cookies["a"]["e"].ToString() 通过这个方式追个访问cookie的值 //Value 访问写入Cookie的所有值, //哈哈现在 疑惑消除了 }
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。