我有一个程序在页面上的cookie中写入,重定向,
SetCookie(key,value);
Response.Redirect("SecondPage.aspx");
并尝试在第二页上阅读cookie。
var value = GetCookie(key);
就这么简单!它适用于IE / FF / Chrome,但不适用于Apple的Safari!
这是cookie值在IE / FF / Chrome中的显示方式:
flyerName=1111+test+road%2c+LS%2c+MO&flyerPersonId=1241BST34&flyerTemplate=Vertical.pdf&flyerListing=6666&flyerOrg=TESTORG
并在Safari中:
flyerName=1111+test+road
显然Safari已经在%2C之后截断了字符串,这是ascii表中的逗号(,)!
P.S。我见过this post,但它没有帮助我。
答案 0 :(得分:2)
问题解决了!在保存Cookie之前,请执行Server.UrlEncode(strValue)
并在检索时使用Server.UrlDecode(c.Values.Item(strKey))
显然,Safari无法正确处理Cookie值中的","
和";"
。
答案 1 :(得分:0)
试试这个
Responce.cookie["PageUrl"].value=your value;
Responce.cookie["PageUrl"].Path="/";
现在您可以在整个应用程序中访问此Cookie;