Response.Cookies.Remove()、Response.Cookie.Clear() 能删除 Cookie 吗?
这个只是说当前被干掉的 Cookie 不要再输出到客户端了。
但并不是说删除客户端上已经存在的 Cookie。
如何删除 Cookie
Response.Cookies["cookieName"].Expires = DateTime.Now.AddDays(-1);
1、如果 cookieName 对应的 Cookie 不存在,不会报错,因为这里是 Response,并不是 Request,Response 只是告诉客户端,按照此 Collection 来处理。
2、如果 cookieName 相同,但 Path 不同,会被当作两个 Cookie 对待,上述代码就只能删除 Path 为“/”的 Cookie。
要指定路径,应该这样:
HttpCookie c = new HttpCookie("c", ""); c.Path = "/path"; c.Expires = DateTime.Now.AddDays(-1); Response.Cookies.Add(c3);
不过学霸更喜欢这样写:
string value = string.Empty; if (Request.Browser["supportsEmptyStringInCookieValue"] == "false") { value = "NoCookie"; } HttpCookie c = new HttpCookie("c", value); c.Path = "/path"; c.Expires = DateTime.Now.AddDays(-1); Response.Cookies.Add(c3)