无法删除ASP.NET C中的cookie#

jbl*_*nco 1 c# asp.net cookies logout

我有一个logout.aspx,在用户点击退出时调用,我想要删除cookie,但它不会这样做...

public partial class LogoutUser : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        HttpCookie cookie;

        cookie = Request.Cookies.Get("Basket");
        if (cookie == null)
        {
            cookie = new HttpCookie("Basket");
        }

        foreach (string item in cookie.Values.AllKeys)
        {
            Response.Cookies[item].Expires = DateTime.Now.AddDays(-1);                
        }

        cookie.Expires = DateTime.Now.AddDays(-1d);
        Response.Cookies["Basket"].Expires = DateTime.Now.AddYears(-1);    
        Session.Abandon();   

        Response.Redirect("~/Default.aspx");
    }
}
Run Code Online (Sandbox Code Playgroud)

cookie存储在篮子中的值但是在注销后我仍然可以访问篮子我不知道什么是错的.

Gre*_*ith 5

这是一些相关的文档.

我相信你的错误在于这一行:

if (cookie == null)
Run Code Online (Sandbox Code Playgroud)

您正在检查null,而不是检查not null.从而,

HttpCookie cookie;

    cookie = Request.Cookies.Get("Basket");
    if (cookie != null)
    {
        cookie = new HttpCookie("Basket");
        cookie.Expires = DateTime.Now.AddDays(-1);
        Response.Cookies.Add(cookie);
    }

    Response.Redirect("~/Default.aspx");
Run Code Online (Sandbox Code Playgroud)

应该做的伎俩.

希望这是有帮助的.