我目前有一个站点,它从数据库存储用户登录时的变量。一个这样的变量(在成功登录时)是SiteSession.Current.IsLoggedIn = true
.
当我单击注销按钮时,我的方法告诉它将其设置为false
,然后继续执行Session.Clear()
and Session.Abandon()
。
到目前为止,我必须在进行任何更改之前单击两次注销按钮。
我用Response.Write(SiteSession.Current.IsLoggedIn);
我的Logout()
方法测试过。
第一次单击不显示任何内容,然后第二次单击显示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);
}
〜登录基本上与此相反,同时存储了更多变量。
编辑:如果我在第一次单击后重新加载页面,则不会发生任何事情。