我有一个测试网站,我已将登录状态设置为
[ <asp:LoginStatus ID="HeadLoginStatus" runat="server" LogoutAction="Redirect" LogoutText="Log Out" LogoutPageUrl="Account/Logout.aspx"/> ]
但是,当我单击屏幕上的“注销”时.. 它会转到此网址,但实际上不会调用注销页面。
“http://localhost/TestWebSite/Account/Login.aspx?ReturnUrl=%2fTestWebSite%2fAccount%2fLogout.aspx”
我试图让它调用一些逻辑来注销并删除我的自定义成员(member)资格提供程序的数据库行。这个逻辑被放在了logout.aspx.cs的页面加载中
Session.RemoveAll();
FormsAuthentication.SignOut();
FormsAuthentication.RedirectToLoginPage();
但当然它没有被调用...... 当然,如果我使用 ReturnUrl 再次登录,它会立即调用注销页面。 我很困惑,因为这不是我期望的行为,也没有记录。
请帮忙。
谢谢!
最佳答案
我不确定这是否是您想要的,但如果您只想在用户注销后运行一些代码,请使用此方法 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
希望这有帮助。
关于asp.net - ASP.NET 上的注销重定向不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9688736/