首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >ASP.NET Cookie子值删除

ASP.NET Cookie子值删除
EN

Stack Overflow用户
提问于 2009-08-10 18:17:05
回答 1查看 1.7K关注 0票数 0

如何在ASP.NET中删除特定cookie中的特定值?

例如:我有一个名为'MyCookie'的Cookie,它包含值'MyCookieValueOne', 'MyCookieValueTwo', 'MyCookieValueThree'.

现在我需要删除值'MyCookieValueTwo'

我该怎么办?

我们可以使用以下任何属性来实现这一点吗?

代码语言:javascript
代码运行次数:0
运行
复制
Request.Cookies["MyCookie"].Value
Request.Cookies["MyCookie"].Values

为什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2009-08-10 18:22:34

编辑:好的,误读了问题。cookie是一个NameValueCollection,所以你可以修改这个集合--但是你需要重新发送一个新的cookie来覆盖旧的:

代码语言:javascript
代码运行次数:0
运行
复制
HttpCookie cookie = Request.Cookies["MyCookie"];
if(cookie != null)
{
    cookie.Values.Remove("KeyNameToRemove");
    Response.AppendCookie(cookie);
}

要“删除”整个cookie,您必须使其“过期”-更改其过期日期并将其重新发送给客户端:

代码语言:javascript
代码运行次数:0
运行
复制
HttpCookie cookie = Request.Cookies["MyCookie"];
if(cookie != null)
{
    cookie.Expires = DateTime.Today.AddMonths(-1);
    Response.AppendCookie(cookie);
}

不幸的是,在.NET中使用cookies非常不直观。AddMonths()有点随意。我使用一个月,你可以使用任何东西-只需要确保过期日期是相对于接收计算机的时钟设置的过去。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1256388

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档