私は現在、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);
}
~ ログインは基本的にそれとは逆ですが、さらにいくつかの変数を保存します。
編集:初めてクリックした後にページをリロードしても、何も起こりません。