Cookie不能记住c#中变量的正确值

时间:2015-07-28 13:55:50

标签: c# asp.net cookies

在我的aspx页面的代码隐藏中,我创建了这个cookie:

cookieidUserArea = new HttpCookie("idUserArea");
cookieidUserArea.Expires = DateTime.Now.AddMinutes(15);
cookieidUserArea.Values.Add("", idUserArea.ToString());
Response.Cookies.Add(cookieidUserArea);

显示我使用的cookie中存储的变量的值:

Response.Write(Request.Cookies["idUserArea"].Value + "<br />");

cookie中记忆的值应为:

AA40

相反,我有

=AA40

在记忆的cookie中存在符号 = 会在以下步骤中在应用程序中产生问题。

我尝试过此替换但没有成功:

cookieidUserArea.Values.Add("", idUserArea.ToString().Replace("=", ""));

有人知道如何解决这个问题?

你能建议吗?

你能帮助我吗?

提前谢谢。

2 个答案:

答案 0 :(得分:4)

那是因为你使用了多值cookie。我想你想用它来代替它:

cookieidUserArea.Value = idUserArea.ToString();

或者,您可以检索如下值:

Request.Cookies["idUserArea"].Values[""]

底线 - 不要混合单值和多值方法。

答案 1 :(得分:0)

如前所述,如果您只想存储一个值,您可以将其传递给cookie的构造函数,类似:

cookieidUserArea = new HttpCookie("idUserArea",idUserArea.ToString());
cookieidUserArea.Expires = DateTime.Now.AddMinutes(15);
Response.Cookies.Add(cookieidUserArea);