JavaScript和ASP.NET - 具有键/值对的Cookie

时间:2010-04-06 17:22:00

标签: asp.net javascript

此问题将客户端脚本与服务器端解析混合在一起。

在某些情况下,我正在使用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?

谢谢!

3 个答案:

答案 0 :(得分:2)

您是否可以通过javascript获取主Cookie的价值。

例如,如果您的主Cookie名称是UserDetails,子元素是FirstName和LastName,则asp.net应设置UserDetails Cookie值,如下所示。

姓=乔恩&安培;名字= Doe的

谢谢,

答案 1 :(得分:0)

您可以使用Request.Cookies来读取cookie值。

HTH。

答案 2 :(得分:0)

我最近写了a blog post about this exact topic。这是用于创建与ASP.NET HttpCookie兼容的多值cookie的JavaScript:

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" });