2013-03-11 2 views
0

다음 코드를 사용하여 웹 사이트의 세션에서 로그 아웃하려고합니다. 그러나 로그 아웃 버튼을 클릭해도 아무런 변화가 없습니다."OnLoggingOut"동작 클릭시 세션이 끝나지 않음

<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> 

고마워!

답변

0

MSDN에 따르면 OnLoggingOut 메서드에는 LoginCancelEventArgs 유형의 매개 변수가 있어야합니다.

Logout_Click 메서드에있는 코드는 괜찮지 만 메소드 서명이 잘못되어 호출되지 않습니다.

+0

귀하의 버튼 클릭 이벤트에 다음 코드를 작성? –

+0

내가 링크 된 MSDN 페이지를보십시오. 당신의 OnLoggingOut' 이벤트는 void처럼되어야합니다. LoginStatus1_LoggingOut (Object sender, System.Web.UI.WebControls.LoginCancelEventArgs e)' – AndrewR

0
(object sender, LoginCancelEventArgs e) 

은 OnLoggingOut 메서드의 실제 서명입니다. session.abandon을 호출 할 필요가 없습니다.

0

내가 다음 사용해야 어떤 방법 서명

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

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

}