我有一个测试网站,我已将Loginstatus设为
[ <asp:LoginStatus ID="HeadLoginStatus" runat="server" LogoutAction="Redirect" LogoutText="Log Out" LogoutPageUrl="Account/Logout.aspx"/> ]
然而,当我点击屏幕上的注销时.. 它转到此URL并且实际上不会调用注销页面。
“HTTP://localhost/TestWebSite/Account/Login.aspx RETURNURL =%2fTestWebSite%2fAccount%2fLogout.aspx”
我试图让它调用一些逻辑来注销并删除我的自定义成员资格提供程序的数据库行。此逻辑放在logout.aspx.cs
的页面加载中Session.RemoveAll();
FormsAuthentication.SignOut();
FormsAuthentication.RedirectToLoginPage();
但当然没有被称为...... 当然,如果我再次使用ReturnUrl登录,它会立即调用注销页面。 我很困惑,因为这不是我预期的行为,也没有记录。
请帮忙。
谢谢!
答案 0 :(得分:2)
我不确定这是否是您要查找的内容,但如果您只想在用户注销后运行某些代码,请使用此方法http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.loginstatus.onloggedout.aspx
当用户按下注销按钮并且已注销时调用它。您可以将代码放在那里,然后根据需要重定向到您的注销页面。
注意:还有这种方法,您可以使用它来确保用户在注销时满足某些条件,甚至取消注销。 http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.loginstatus.onloggingout.aspx
希望这有帮助。