例子如下:
复制代码 代码如下:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
HttpCookie UserInfo = new HttpCookie("UserInfo");
UserInfo.Value = "bdstjk";
Response.Cookies.Add(UserInfo);
}
}
protected void btnRemoveCookie_Click(object sender, EventArgs e)
{
Response.Cookies.Remove("UserInfo");
Response.Write("<script type=\"text/javascript\">alert(\"删除Cookie成功!\");</script>");
}
protected void btnCheckCookie_Click(object sender, EventArgs e)
{
if (Request.Cookies["UserInfo"] != null)
{
Response.Write("Cookie存在,"+Request.Cookies["UserInfo"].Value);
}
else
{
Response.Write("Cookie不存在");
}
}
页面代码:
复制代码 代码如下:
<asp:Button ID="btnRemoveCookie" runat="server" Text="删除Cookie"
/>
<asp:Button ID="btnCheckCookie" runat="server" Text="检查Cookie"
/>
运行代码测试,你会发现,怎么点删除按钮,cookie都存在,如下图:
这是为什么呢?明明是执行了删除cookie的操作,为什么就是删不掉呢?
我们去看看.NET的HttpCookieCollection实现源码
复制代码 代码如下:
public void Remove(string name)
{
if (this._response != null)
{
this._response.BeforeCookieCollectionChange();
}
this.RemoveCookie(name);
if (this._response != null)
{
this._response.OnCookieCollectionChange();
}
}
这个操作在HttpCookieCollection这个集合里面删除了cookie,当服务器将数据传输到客户端的时候,不会包含这个已经在服务端删除了的Cookie的任何信息,浏览器也就不会对它做任何改变(remove方法只是不让服务器向客户机发送那个被删除的cookie,与此cookie留不留在客户机里无关)。所以cookie删除不掉的情况就出现。
那么如果我们想删除cookie应该怎么做呢?
把删除cookie的代码改成如下语句:
复制代码 代码如下:
if (Request.Cookies["UserInfo"] != null)
{
Response.Cookies["UserInfo"].Expires = DateTime.Now.AddDays(-1);
}
Response.Write("<script type=\"text/javascript\">alert(\"删除Cookie成功!\");</script>");
我们再运行程序,测试:
既然Response.Cookies.Remove没有办法实现我们需要的效果,为什么微软还有留着呢,因为CookieCollection实现ICollection接口,romove是必须实现的方法,尽管它没多大的实际价值。而集合的romove也应该是这样的实现方式,只不过微软在写MSDN的时候,描述得太不清楚了,给我们造成了不小的麻烦。
Remove,删除,COOKIE
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
更新日志
- 纯音入心系列纯音乐《中央民族乐团-古筝传奇》1CD[MP3][253.1MB]
- 江玲.1989-这样你才爱我,是吗?【新作有声】【WAV+CUE】
- 郭美美.2010-我是郭美美【华纳】【WAV+CUE】
- 黄心懋1991-轻忧郁【滚石】【WAV+CUE】
- 群星.2000-大地金曲世纪回顾2CD【大地】【WAV+CUE】
- 王菲.1996-浮躁(2024环球MQA-UHQCD限量版)【环球】【WAV+CUE】
- 群星.2022-传家电视剧原声带【东阳欢娱】【FLAC分轨】
- 《摇滚教父 伍佰黄金精选 2CD》 [WAV+CUE][1GB]
- 《凤凰传奇 我从草原来》[WAV/分轨][400MB]
- 《叶倩文 真心真意过一生》[WAV+CUE][400MB]
- 潘越云.1985-世间女子(滚石25周年经典复刻版)【滚石】【WAV+CUE】
- 陈柏宇.2009-CANT.BE.HALF【SONY】【WAV+CUE】
- 李明依.1989-小女生【滚石】【WAV+CUE】
- 《李荣浩 新时代创作新人王》[WAV分轨][310MB]
- 《黑鸭子与马头琴 史上最动听草原音乐》[WAV+CUE][320MB]