会话未在单击“OnLoggingOut”操作时结束

时间:2013-03-11 15:26:43

标签: c# asp.net

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

这是我的代码:

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

和c#:

public void Logout_Click(object sender, EventArgs e)
    {

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


    }

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

的Web.config:

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

谢谢你们!

3 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

(object sender, LoginCancelEventArgs e)

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

答案 2 :(得分:0)

在按钮点击事件

上写下以下代码
protected void Page_Load(object sender, EventArgs e)
{
    HttpContext.Current.Session.Abandon();
    HttpContext.Current.Response.Cookies.Clear();
    FormsAuthentication.SignOut();

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

}