Cookie不希望ASP.NET过期
本文关键字:NET 过期 ASP 希望 Cookie | 更新日期: 2023-09-27 18:13:53
我有一个cookie,我使用java脚本设置,然后我试图使它过期后使用它使用ASP。网我用firefox检查了cookie,它显示它的过期日期被设置为session,尽管我设置了过期日期,你可以在下面看到我试过删除cookie,但没有使用它们仍然以相同的状态创建,并且不希望过期
java脚本 function dateSelected(sender, eventArg) {
var expire = new Date();
expire.setDate(expire.getTime() + (5 * 24 * 60 * 60 * 1000));
var element = sender._clientStateFieldID;
if (element == "txtenddate_ClientState")
document.cookie = "EndDate=" + eventArg.get_newValue() + ";expires=" + expire.toUTCString() + ";path=/";
else
document.cookie = "StartDate=" + eventArg.get_newValue() + ";expires=" + expire.toUTCString() + ";path=/";
}
ASP。净c#
StringBuilder url = new StringBuilder();
url.Append("&StartDate=");
url.Append(Request.Cookies["StartDate"].Value);
url.Append("&EndDate=");
url.Append(Request.Cookies["EndDate"].Value);
Request.Cookies["StartDate"].Expires = DateTime.Now.AddDays(-1d);
Request.Cookies["EndDate"].Expires = DateTime.Now.AddDays(-1d);
Request.Cookies.Add(Request.Cookies["EndDate"]);
Request.Cookies.Add(Request.Cookies["StartDate"]);
Server.Transfer(url.ToString());
尽管我明确地将其设置为特定日期,但我没有解释为什么cookie过期日期设置为session正如Andrew建议的那样,通过调整两个add行来使用Response而不是Request集合,实际问题得到了解决。
Response.Cookies.Add(Request.Cookies["EndDate"]);
Response.Cookies.Add(Request.Cookies["StartDate"]);