2013-08-27 57 views
0

如何向cookie添加(使用JavaScript)键值对?从JavaScript创建字典cookie

该Cookie应该像这样

 string userID = Request.Cookies["UserData"]["UserID"]; 
     string token = Request.Cookies["UserData"]["Token"]; 

C#代码读取它应该像这样开头

document.cookie=... 
+0

键值对具有相同的cookie名 – gumenimeda

+0

MDN有阅读一篇关于['document.coo kie'](https://developer.mozilla.org/en-US/docs/Web/API/document.cookie) –

+1

'document.cookie =“UserData = UserID = foo&Token = Bar”'。如果你想要一个持久性cookie,你还需要添加一个Expires指令。 – EricLaw

回答

0

如果我设置的,而不是试图读取值,我得到了这种格式Cookie:

name=BLA&age=100 

所以你只需要设置一个URL格式的cookie 。

而且您应该在设置为cookie之前对值进行编码,并在服务器端使用HttpUtility.UrlDecode来获得您期望的值。


此代码

Response.Cookies["UserData"]["Name"] = HttpUtility.UrlEncode("BL&&&)(@!^A"); 
Response.Cookies["UserData"]["Age"] = "100"; 

生成此cookie

Name=BL%26%26%26)(%40!%5eA&Age=100 

,我使用

var value1 = HttpUtility.UrlDecode(Request.Cookies["UserData"]["Name"]); 
var value2 = HttpUtility.UrlDecode(Request.Cookies["UserData"]["Age"]);