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

本文详细解析了如何在谷歌浏览器和IE浏览器中查看Cookie路径,并通过代码实例展示了Cookie的创建、覆盖、追加和过期时间设置。同时,介绍了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>
 

转载于:https://www.cnblogs.com/Sky-cloudless/p/4263779.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值