2010-04-06 44 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" });