2010-04-06 48 views
5

此问题将客户端脚本与服务器端解析相混合。JavaScript和ASP.NET - 带键/值对的饼干

在某些情况下,我正在使用document.cookie属性向用户的浏览器写入cookie。在其他情况下,我通过ASP.NET Response对象向用户的浏览器写入相同的Cookie。

当我在服务器端编写HttpCookie时,我使用Values集合(http://msdn.microsoft.com/en-US/library/system.web.httpcookie.values%28v=VS.80%29.aspx)在cookie中存储键/值对。我也希望能够通过JavaScript将键值对写入cookie。

如何通过ASP.NET可以解析的JavaScript使用键/值对创建Cookie?

谢谢!

回答

2

您是否可以通过javascript获取主要cookie的值。

例如,如果您的主要cookie名称是UserDetails,并且子元素是FirstName和LastName,则asp.net应该按如下方式设置UserDetails Cookie值。

姓=乔恩&姓= Doe的

感谢,

0

有一个Request.Cookies可以用来读取cookie值。

HTH。

+0

我相信OP是询问他是否可以在客户端上的cookie的模仿的NameValuePair集合符号(即项目添加到Cookie使用c#将在代码隐藏中理解的名称 - 值对).. – 2010-04-06 19:52:09

0

我最近写了a blog post about this exact topic。这里的JavaScript来创建一个ASP.NET的HttpCookie兼容的多值的cookie:

var setMultiValuedCookie = function(name, values) { 
    var valuePairs = []; 
    for (var n in values) { 
     valuePairs.push(n + "=" + values[n]); 
    } 
    var cookieValue = valuePairs.join("&"); 
    document.cookie = name + "=" + cookieValue; 
}; 

// Usage: 
setMultiValuedCookie("TestCookie", { firstName: "John", lastName: "Doe" });