.net C# cookie清除问题
为什么在这一个页面清掉了cookie,但别的页面仍可以读出.代码如下:login.aspx:HttpCookiecookie=newHttpCookie("UserID"...
为什么在这一个页面清掉了cookie,但别的页面仍可以读出.代码如下:
login.aspx:
HttpCookie cookie = new HttpCookie("UserID")+Response.Cookies.Add(cookie)创建一个名为"UserID"的cookie,通过这个页面的一个文字链接转至loginout.aspx页,这个页面进入即运行下面的代码,
loginout.aspx:
Request.Cookies.Clear()并通过if语包判断Request.Cookies["UserID"] ==null条也成立.问题就是重新回到login.aspx页时,重新判断这个条件却是不成立的了,而出可以读出cookie值来.(问题都出在没有关闭浏览器的情况,关闭浏览器后再开就没有问题了.)
请问高手们,这个问题应该如何解决??????????????????????????????/
在线等,谢谢!!!
高手不行啊!请看看这个删除cookier代码
HttpCookie cookie = new HttpCookie("UserID");
cookie.Expires = DateTime.Now.AddDays(-100);
Request.Cookies.Add(cookie);
Request.Cookies.Remove("UserName");
HttpCookie aCookie;
string cookieName;
int limit = Request.Cookies.Count;
Request.Cookies.Clear();
if (Request.Cookies["UserID"] == null || Request.Cookies["UserName"] == null)
{ Response.Redirect(“index.aspx”); }
else
{ }
而在login的状态里的条件仍旧不成立.
protected void Page_Load(object sender, EventArgs e)
{ loginText.Text = " 会员请这里登陆";
if (Request.Cookies["UserID"] != null || Request.Cookies["UserName"] != null)
{ //用户已登陆的情况
leftlogin.Controls.Clear();}
else
{ //用户没有登陆
loginand.Controls.Clear(); }
}
无伦如何注消,二楼所说的也试过.结果一样,只有关闭游览器方可达没有"用户注消"的功能. 展开
login.aspx:
HttpCookie cookie = new HttpCookie("UserID")+Response.Cookies.Add(cookie)创建一个名为"UserID"的cookie,通过这个页面的一个文字链接转至loginout.aspx页,这个页面进入即运行下面的代码,
loginout.aspx:
Request.Cookies.Clear()并通过if语包判断Request.Cookies["UserID"] ==null条也成立.问题就是重新回到login.aspx页时,重新判断这个条件却是不成立的了,而出可以读出cookie值来.(问题都出在没有关闭浏览器的情况,关闭浏览器后再开就没有问题了.)
请问高手们,这个问题应该如何解决??????????????????????????????/
在线等,谢谢!!!
高手不行啊!请看看这个删除cookier代码
HttpCookie cookie = new HttpCookie("UserID");
cookie.Expires = DateTime.Now.AddDays(-100);
Request.Cookies.Add(cookie);
Request.Cookies.Remove("UserName");
HttpCookie aCookie;
string cookieName;
int limit = Request.Cookies.Count;
Request.Cookies.Clear();
if (Request.Cookies["UserID"] == null || Request.Cookies["UserName"] == null)
{ Response.Redirect(“index.aspx”); }
else
{ }
而在login的状态里的条件仍旧不成立.
protected void Page_Load(object sender, EventArgs e)
{ loginText.Text = " 会员请这里登陆";
if (Request.Cookies["UserID"] != null || Request.Cookies["UserName"] != null)
{ //用户已登陆的情况
leftlogin.Controls.Clear();}
else
{ //用户没有登陆
loginand.Controls.Clear(); }
}
无伦如何注消,二楼所说的也试过.结果一样,只有关闭游览器方可达没有"用户注消"的功能. 展开
2个回答
展开全部
Request.Cookies.Clear()这个方法并不是删除Cookie
删除 Cookie(即从用户的硬盘中物理移除 Cookie)是修改 Cookie 的一种形式。
由于 Cookie 在用户的计算机中,因此无法将其直接移除。
但是,可以让浏览器来为您删除 Cookie。
该技术是创建一个与要删除的 Cookie 同名的新 Cookie,
并将该 Cookie 的到期日期设置为早于当前日期的某个日期。
当浏览器检查 Cookie 的到期日期时,浏览器便会丢弃这个现已过期的 Cookie。
下面的代码示例演示删除应用程序中所有可用 Cookie 的一种方法:
HttpCookie aCookie;
string cookieName;
int limit = Request.Cookies.Count;
for (int i = 0; i < limit; i++)
{
cookieName = Request.Cookies[i].Name;
aCookie = new HttpCookie(cookieName);
aCookie.Expires = DateTime.Now.AddDays(-1);
Response.Cookies.Add(aCookie);
}
删除 Cookie(即从用户的硬盘中物理移除 Cookie)是修改 Cookie 的一种形式。
由于 Cookie 在用户的计算机中,因此无法将其直接移除。
但是,可以让浏览器来为您删除 Cookie。
该技术是创建一个与要删除的 Cookie 同名的新 Cookie,
并将该 Cookie 的到期日期设置为早于当前日期的某个日期。
当浏览器检查 Cookie 的到期日期时,浏览器便会丢弃这个现已过期的 Cookie。
下面的代码示例演示删除应用程序中所有可用 Cookie 的一种方法:
HttpCookie aCookie;
string cookieName;
int limit = Request.Cookies.Count;
for (int i = 0; i < limit; i++)
{
cookieName = Request.Cookies[i].Name;
aCookie = new HttpCookie(cookieName);
aCookie.Expires = DateTime.Now.AddDays(-1);
Response.Cookies.Add(aCookie);
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
虽然我不懂这个,饿,不过还是希望有高手能帮你解决这个问题
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询