HttpCookie cok = Request.Cookies["username"];
if (cok!=null)
{
cok.Expires = DateTime.Now.AddSeconds(-1);
Response.Cookies.Add(cok);
}
HttpCookie cok1 = Request.Cookies["password"];
if (cok1 != null)
{
cok1.Expires = DateTime.Now.AddSeconds(-1);
Response.Cookies.Add(cok1);
}如上面代码,我在页面加载时,删除username 和 password 这两个cookie 确认删除成功在之后的方法中用以下代码去判断,并跳转页面,按道理,cookie已删除,是不会进入1.aspx的。但是调试发现,第一次进testCookie时,还是会进入if,并跳转,到第二次才不会进if。这是为什么,求解决方法,谢谢。
protected void testCookie()
{
if (Request.Cookies["username"]!=null && Request.Cookies["password"]!=null)
{
Response.Redirect("1.aspx", true);
}
}
if (cok!=null)
{
cok.Expires = DateTime.Now.AddSeconds(-1);
Response.Cookies.Add(cok);
}
HttpCookie cok1 = Request.Cookies["password"];
if (cok1 != null)
{
cok1.Expires = DateTime.Now.AddSeconds(-1);
Response.Cookies.Add(cok1);
}如上面代码,我在页面加载时,删除username 和 password 这两个cookie 确认删除成功在之后的方法中用以下代码去判断,并跳转页面,按道理,cookie已删除,是不会进入1.aspx的。但是调试发现,第一次进testCookie时,还是会进入if,并跳转,到第二次才不会进if。这是为什么,求解决方法,谢谢。
protected void testCookie()
{
if (Request.Cookies["username"]!=null && Request.Cookies["password"]!=null)
{
Response.Redirect("1.aspx", true);
}
}
那我该怎么写这个判断语句呢 我就是要判断这两个cookie是否存在 再决定跳转
改成response 也还是不行 谢谢 有别的错误么?
谢谢耐心指出问题。因为是刚接触网页这块,确实有些急功近利了。明天研究一下Response和Request。如果还有问题,还希望不吝指教。
找到原因了,因为cookie是在客户端的,所以需要页面回传之后才能生效,我虽然删除了,但是没有回传页面,所以当时还是存在的,是这样的吧?