C# Cookie无法记忆c中变量的正确值#
在我的aspx页面的代码隐藏中,我创建了以下cookie: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中的
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);