0

私は現在、DB からユーザーのログイン時に変数を保存するサイトを持っています。そのような変数の 1 つ (ログインが成功した場合) はSiteSession.Current.IsLoggedIn = true.

ログアウト ボタンをクリックすると、私のメソッドはそれを に設定するように指示し、次にとfalseに進みます。Session.Clear()Session.Abandon()

これまで、変更を加える前にログアウト ボタンを 2 回クリックする必要がありました。私は自分の方法 で
テストしました。Response.Write(SiteSession.Current.IsLoggedIn);Logout()

最初のクリックでは何も表示されず、2 回目のクリックで が表示されますfalse

どこが間違っているのか誰か教えてもらえますか?

/// <summary>
/// Logs the user out, and destroys the session
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void lnkAccountLogout_Click(object sender, EventArgs e)
{
    SiteSession.Current.IsLoggedIn = false;
    SiteSession.Current.RollId = "-1";

    Session.Clear();
    Session.Abandon();
    Response.Write(SiteSession.Current.IsLoggedIn);
}

~ ログインは基本的にそれとは逆ですが、さらにいくつかの変数を保存します。

編集:初めてクリックした後にページをリロードしても、何も起こりません。

4

2 に答える 2