0

我正在尝试使用以下代码注销网站上的会话。但是,当我单击注销按钮时,似乎没有任何反应。

这是我的代码:

<asp:LoginStatus ID="LoginStatus1" OnLoggingOut="Logout_Click"  runat="server" /> 

和 c#:

public void Logout_Click(object sender, EventArgs e)
    {

        Session.Abandon();
        FormsAuthentication.SignOut();
        FormsAuthentication.RedirectToLoginPage();


    }

此代码没有结束会话,甚至没有重定向到登录页面。

网络配置:

<authentication mode="Forms" >
      <forms loginUrl="url"   timeout="20" domain="domain">
      </forms>
    </authentication>

多谢你们!

4

3 回答 3

0

Write a below code on your button click event

protected void Page_Load(object sender, EventArgs e)
{
    HttpContext.Current.Session.Abandon();
    HttpContext.Current.Response.Cookies.Clear();
    FormsAuthentication.SignOut();

    Response.Redirect("~/LoginPage.aspx");

}
于 2013-03-11T18:12:20.143 回答
0
(object sender, LoginCancelEventArgs e)

是 OnLoggingOut 方法的实际签名。而且您不需要调用 session.abandon。

于 2013-03-11T16:27:02.907 回答
0

根据MSDN,您的OnLoggingOut方法应该有 1 个参数类型LoginCancelEventArgs

您在 Logout_Click 方法中的代码应该没问题,但它没有被调用,因为您的方法签名不正确。

于 2013-03-11T15:32:54.193 回答