0

次のコードを使用して、Web サイトのセッションからログアウトしようとしています。ただし、ログアウトボタンをクリックしても何も起こらないようです。

ここに私のコードがあります:

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

みんなありがとう!

4

3 に答える 3

0
(object sender, LoginCancelEventArgs e)

OnLoggingOut メソッドの実際の署名です。また、session.abandon を呼び出す必要はありません。

于 2013-03-11T16:27:02.907 に答える
0

ボタンクリックイベントに以下のコードを記述します

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

MSDNによると、OnLoggingOutメソッドには type のパラメーターが 1 つ必要LoginCancelEventArgsです。

Logout_Click メソッドにあるコードは問題ないはずですが、メソッドの署名が正しくないため呼び出されません。

于 2013-03-11T15:32:54.193 に答える