为什么我的cookie没有被删除/取消设置?

And*_*ers 6 vb.net asp.net cookies jquery

我有一个登录链接,可以激活一个调用注销页面的javascript函数.这是注销页面包含的内容:

 If Response.Cookies.Count > 0 Then
    Response.Cookies("aLog").Value = Nothing
    Response.Cookies.Clear()
End If
Run Code Online (Sandbox Code Playgroud)

最初我只是在那里有cookies.clear,但那不起作用.

这是将请求发送到注销页面的javascript:

<script type="text/javascript">
    //<![CDATA[
    $(document).ready(function() {
        $('#logout-link').click(function() {
            if (confirm("Really log out?")) {
                $.cookie('aLog', null);
                location.href = $(this).attr('href');
            }
            return false;
        });
    });
    //]]>
</script>
Run Code Online (Sandbox Code Playgroud)

jQuery函数$.cookie也不起作用.这个cookie是由ASP.NET设置的,所以我想我也可以用ASP.NET取消它,但显然不是.有什么想法/建议吗?

Rex*_*x M 10

在ASP.NET中使用cookie可能有点不直观.要杀死已经存在于客户端的cookie,您必须将其过期日期设置为过去的某个时间,并重新向客户端发送新的cookie.客户端浏览器将使用新的到期日期更新现有cookie,然后立即终止它,因为它已经过了截止日期:

HttpCookie cookie = Request.Cookies["aLog"];
cookie.Expires = DateTime.Now.AddYears(-10);
Response.AppendCookie(cookie);
Run Code Online (Sandbox Code Playgroud)