]但是,当我单击屏幕上的注销时..它转到这个url,实际上并不调用注销页面">
我有一个测试网站,其中我已将登录状态设置为
[ <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登录,它会立即调用注销页面。我很困惑,因为这不是我所期望的行为,也没有记录在案。
请帮帮忙。
谢谢!
发布于 2012-03-13 18:08:50
我不确定这是否是您想要的,但是如果您只是想在用户注销后运行一些代码,那么使用这个方法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
希望这能有所帮助。
https://stackoverflow.com/questions/9688736
复制