ASP.NET-【状态管理】-Cookie小结

Cookie路径
谷歌浏览器
依次点击设置--高级选项--内容设置--cookies--选择“显示cookies和其他网站数据”按钮就可以看到了

C:\Users\Administrator\Local Settings\Application Data\Google\Chrome\User Data\Default

IE浏览器
C:\Users\Administrator\AppData\Local\Microsoft\Windows\Temporary Internet Files
 
注意:只有设置有失效期的 cookie 在离开设置页时会以文件形式保存
 
C:\Users\Administrator\Cookies
C:\Users\Administrator\AppData\Local\Microsoft\Windows\Temporary Internet Files
C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Cookies
 
查看Cookie

技术分享

下面看看代码就什么都知道了
我的总结都在下面
        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的所有值,
            //哈哈现在 疑惑消除了
        }
js读取
        <div>
            <input type="button" value="ok" onclick="fun()" />
        </div>
        <script type="text/javascript">
            function fun() {
                document.write(decodeURIComponent(document.cookie));
            }
        </script>
 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。