已解决

【精华】金老师:建议修改"七天不用登陆的代码"!!!已解决

学员:徐豫锋提问时间:2008-09-07 21:19:05

修改理由,原代码(删除cookie部分)不合理,不容易理解。。。
原来的代码:
protected void btnDeleteCookie_Click(object sender, EventArgs e)
{
HttpCookie c = new HttpCookie("username");
c.Value = "";
c.Expires = DateTime.Now.AddDays(-1);
Response.Cookies.Add(c);
lblInfo.Text="Cookie已删除!下次访问本页需登录";
}
新的代码:
if(Response.Cookies["username"]!= null){
Response.Cookies.Remove("username");
lblInfo.Text = "Cookie已删除!下次访问本页需登录";}
感觉原代码太复杂了,新代码容易理解。。。
不知道为什么,在vs2008中无效啊

采纳为答案

回答人:amandag(高歌 .NET学习顾问)回答时间:2008-09-08 14:33:26

一般而言,删除永久cookie的方法就是设置其过期时间为过去的某个时间即可

学员对该答案的评价 谢谢

其他回答

回答人:徐豫锋回答时间:2008-09-08 07:38:31
前面是我错了
我查了一下msdn...,也试了试
c.Value = ""这句可以省略的。。。
回答人:徐豫锋回答时间:2008-09-08 07:41:55
msdn示例中也没有这一句
下面的代码示例演示如何为 Cookie 设置已过去的到期日期。
C#
if (Request.Cookies["UserSettings"] != null)
{
HttpCookie myCookie = new HttpCookie("UserSettings");
myCookie.Expires = DateTime.Now.AddDays(-1d);
Response.Cookies.Add(myCookie);
}