我正在尝试使用以下代码退出网站上的会话。但是,当我点击退出按钮时,似乎没有任何反应。
这是我的代码:
<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 :(得分:0)
根据MSDN,您的OnLoggingOut
方法应该有1个LoginCancelEventArgs
类型的参数。
你在Logout_Click方法中的代码应该没问题,但是因为你的方法签名不正确而没有被调用。
答案 1 :(得分:0)
(object sender, LoginCancelEventArgs e)
是OnLoggingOut方法的实际签名。而且你不需要调用session.abandon。
答案 2 :(得分:0)
在按钮点击事件
上写下以下代码protected void Page_Load(object sender, EventArgs e)
{
HttpContext.Current.Session.Abandon();
HttpContext.Current.Response.Cookies.Clear();
FormsAuthentication.SignOut();
Response.Redirect("~/LoginPage.aspx");
}