Safari不会完全保存cookie

时间:2013-04-29 23:53:15

标签: asp.net .net cookies safari

我有一个程序在页面上的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,但它没有帮助我。

2 个答案:

答案 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;