Javascript & ASP.net Cookie互操作问题
2009-08-09 21:23
603 查看
同事今天在解决Portal登录时遇到一个问题,ASP.net 操作Cookie覆盖不了Js创建的Cookie。
晚上回来又研究半天终于解决。理论上js和ASP.net服务器代码均可以操作Cookie,实现Client和Server端信息的共享。但是由于Js和Asp.net默认对Cookie的处理有细微差异会导致双方无法公用。
主要原因是双方对Path的默认值定义不一样造成
The problem was actually due to a conflict in domain and path names in my
cookie. The .NET control, apparently by default, built my cookie using the
domain name and the root path. JavaScript, apparently by default, built my
cookie using the domain name and FULL path.
解决方法很简单,js和ASP.net操作Cookie均设置Path,保持一致即可。
Client : document.cookie = "userid=clientCookie2; path=/
Server端:
//这种写法有效
HttpCookie userCookie = new
HttpCookie("userid");
userCookie.Value = "serverCookie";
userCookie.Path = "/";
Response.Cookies.Add(userCookie);
另外发现一个问题
//这种写法无效
//Request.Cookies["userid"].Value =
"serverid";
//Request.Cookies["userid"].Path = "/";
不知道为什么,空了再研究吧。
晚上回来又研究半天终于解决。理论上js和ASP.net服务器代码均可以操作Cookie,实现Client和Server端信息的共享。但是由于Js和Asp.net默认对Cookie的处理有细微差异会导致双方无法公用。
主要原因是双方对Path的默认值定义不一样造成
The problem was actually due to a conflict in domain and path names in my
cookie. The .NET control, apparently by default, built my cookie using the
domain name and the root path. JavaScript, apparently by default, built my
cookie using the domain name and FULL path.
解决方法很简单,js和ASP.net操作Cookie均设置Path,保持一致即可。
Client : document.cookie = "userid=clientCookie2; path=/
Server端:
//这种写法有效
HttpCookie userCookie = new
HttpCookie("userid");
userCookie.Value = "serverCookie";
userCookie.Path = "/";
Response.Cookies.Add(userCookie);
另外发现一个问题
//这种写法无效
//Request.Cookies["userid"].Value =
"serverid";
//Request.Cookies["userid"].Path = "/";
不知道为什么,空了再研究吧。
相关文章推荐
- asp.net和js对cookie的相互操作问题
- javascript和Asp.net互相操作cookie
- 深入解析javascript与asp.net对Cookie操作的异同,以及如何共用(一)。
- cookie 操作详解 (asp.net && javascript)
- ASP.NET MVC WebApi 返回数据类型序列化控制(json,xml) 用javascript在客户端删除某一个cookie键值对 input点击链接另一个页面,各种操作。 C# 往线程里传参数的方法总结 TCP/IP 协议 用C#+Selenium+ChromeDriver 生成我的咕咚跑步路线地图 (转)值得学习百度开源70+项目
- Cookie(javascript & Asp.net)
- 深入解析javascript与asp.net对Cookie操作的异同,以及如何共用(一)。
- cookie 操作详解 (asp.net && javascript)
- 【摘录】asp.net Cookie操作(续)
- ASP.NET AJAX 说明文档->客户端引用->全局命名空间->JavaScript 基础类型扩展->Array 类型扩展->clear 函数
- Asp.Net中用JS中操作cookie的方法
- asp.net中窗口相关操作总结(javascript)
- ASP.NET&Javascript实现半透明背景&模式弹出个性化页面实例
- 关于Asp.net中Cookie的问题
- [ASP.NET]解决"CS1595已在多处定义"的问题
- asp.net c#中对cookie的操作
- Asp.net 2.0 中cookie值为中文时导致的Cookie 值丢失问题和乱码问题的解决
- Asp.net mvc如果解决Iframe、Frameset 中Session、Cookie丢失的问题。
- 学习心得:asp.net操作cookie
- ASP.NET(c#)操作cookie、session、cache工具类