C# Cookie无法记忆c中变量的正确值#

C# Cookie无法记忆c中变量的正确值#,c#,asp.net,cookies,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中的

在我的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 />");
相反,我有

=AA40
存储的cookie中存在符号=,会在以下步骤的应用程序中产生问题

我尝试过这种替换,但没有成功:

cookieidUserArea.Values.Add("", idUserArea.ToString().Replace("=", ""));
有人知道我该怎么做吗

你能推荐一下吗

你能帮我吗


提前感谢您。

这是因为您使用多值cookie。我想你应该这样使用它:

cookieidUserArea.Value = idUserArea.ToString();
或者,您可以检索值,如下所示:

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

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

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

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

您确定没有在
idUserArea
上设置“=”吗?为
idUserArea
设置值的代码是什么?我确信先生。。。idUserArea上的值存储在数据库中,我有AA40。。。如果手动编辑cookie并删除symbol=并重新启动浏览器,则应用程序asp net会正常工作,它似乎
idUserArea
不包含“=”符号,因此
Replace
方法无法删除它。在
响应之前检查代码。写入
cookieidUserArea = new HttpCookie("idUserArea",idUserArea.ToString());
cookieidUserArea.Expires = DateTime.Now.AddMinutes(15);
Response.Cookies.Add(cookieidUserArea);