我做一小网站,有登陆界面,要输入用户名和密码,我在登录成功后,用cookie记录 登录的用户名,我转到该网站的其他页面,点击“退出”按钮退出返回登录界面,在按钮事件了如何清除已记录的用户名?谢谢。100分压上,虚心向各位大虾学习。
解决方案 »
- 在线等—网站上一篇文章可以分享到微博功能?
- 金额翻译成英文!
- 哪位做过ASP.NET的树型控件的啊?我的速度慢的要死,不知道哪位对树型控件熟的,给个例子看看~~谢谢各位了
- 高分求助:怎样给form表单添加onsubmit事件
- 關于對話框(確定﹐取消)的問題﹐急﹗﹗﹗﹗﹗
- Response.Redirect怎么样再原来的页面跳出新页面,而不是转为新页面
- 如何在ItemDataBound事件中,取得模板列中的第N列的值
- asp.net 点击扣点数 的实现
- 访问本地ASP文件要求输入密码
- 一个不懂的地方?
- excel取出列的值,插入新的一列
- ASP.NET新增的网站,调试时引用的url能否直接为根目录?(高分求助)
Response.Cookies.Add(cookie);
Response.Cookies[ "test "].Expires = DateTime.Now.AddYears(-1);
这个并不能真正的清除cookie
通常我们会把一些常用的方法写到类库中进行重用,这对于开发来说是一件不错的做法,提高代码重用性,提高工作效率.
public static bool DeleteCookie(string CookieName)
{
System.Web.HttpContext.Current.Response.Cookies.Remove(CookieName);
return true;
}
//当用尝试用上面的方法去清除登录的Cookie时,发现并没有清除我的Cookie,重刷页面时登录状态还在
//这个问题花了不少时间来调试,百般无奈,最后找到了一个方法可以解决//strPageDomain 主要是应用在当Cookie需要跨域时,用来访问strPageDomain这个域名下的Cookie
HttpCookie MyCo;
if (_strPageDomain != null && _strPageDomain != "")
{
MyCo = HttpContext.Current.Request.Cookies["UserID"];
if (System.Web.HttpContext.Current.Request.ServerVariables.ToString().IndexOf(_strPageDomain) >= 0 && MyCo != null)
{
MyCo.Domain = _strPageDomain;
MyCo.Expires = DateTime.Now.AddHours(-24); //关键是这一句
HttpContext.Current.Response.Cookies.Add(MyCo); }
}
else
{
MyCo = HttpContext.Current.Request.Cookies["UserID"];
if (MyCo != null)
{
MyCo.Expires = DateTime.Now.AddHours(-48);
HttpContext.Current.Response.Cookies.Add(MyCo);
} }
在今后的开发中,需注意在网站需要用到一个Cookie,add cookie时需先把存在的delet,然后再add,有时发现add同一个名称的cookie时并不是把旧的Cookie复盖。
{
HttpCookie cookie = Request.Cookies[cookieName];
cookie.Expires = DateTime.Today.AddDays(-5);
Response.Cookies.Add(cookie);
}