C# 使用jquery调用FormsAuthentication.SignOut()方法

C# 使用jquery调用FormsAuthentication.SignOut()方法,c#,asp.net,C#,Asp.net,我在我的项目中使用了Asp.Net/C。我使用的是Forms Authentication。目前,我在点击Asp.Net按钮时调用FormsAuthentication.SignOut()。它运行良好,但我的要求是我需要从水平菜单选项中注销用户 注销 这将是Html菜单,因此当用户从菜单栏单击注销时,如何调用FormsAuthentication.SignOut()方法。是否有任何可能的解决方案或任何其他技术。 欢迎提出任何建议。 谢谢给你: $('#logout').click(fun

我在我的项目中使用了
Asp.Net/C
。我使用的是
Forms Authentication
。目前,我在点击Asp.Net按钮时调用
FormsAuthentication.SignOut()
。它运行良好,但我的要求是我需要从水平菜单选项中注销用户

注销

这将是Html菜单,因此当用户从菜单栏单击注销时,如何调用
FormsAuthentication.SignOut()
方法。是否有任何可能的解决方案或任何其他技术。 欢迎提出任何建议。 谢谢

给你:

    $('#logout').click(function () {
    $.ajax({
        url: '/logout',
        success: function () {
            document.location = '/logged_out';
        }, error: function () { 
            alert('Logout failed');
        }
    });
    return false;
  });

FormsAuthentication.SignOut()
是一个服务器端代码,您不能直接从客户端(即浏览器)调用它-相反,您需要创建一个URI,该URI将为您执行相同的操作

例如,您可以使用AJAX服务调用上述代码,或者简单地说,您可以使用logout.aspx页面调用
FormsAuthentication.SignOut()
,比如说
页面加载
。这样的URI可以从jquery中调用,以获得所需的内容


在您的情况下,您只需在注销菜单中有一个指向注销aspx页面的链接(或在菜单中单击,写入
document.location=“/logout.aspx”
,这基本上意味着导航到注销页面)

谢谢你能给我解释一下url:和document.location,以前从未使用过ajax。谢谢document.location:将重定向到指定的url。如果你真的是一个新手,那么你首先需要有jquery库:请访问此链接了解更多信息:,谢谢先生让我理解它。我想做的是当用户单击注销链接时,我需要将他重定向到Login.aspx,我的起始页。因此在logout.aspx的页面上,我必须调用FormsAuth.Signout()方法,然后使用Response.Redirect(“Login.aspx”),这是一个正确的方法。Thanks@freebird,是的,可以。另一种方法是将一些查询参数传递给登录页面(例如,
login.aspx?new_session
),以便登录页面本身可以调用
FormsAuth.Signout()
——这将避免一次(不必要的)服务器跳闸@VinayC是目前为止最好的主意。清洁无额外负载。