asp.net - ASP.NET 上的注销重定向不起作用

标签 asp.net asp.net-membership customization

我有一个测试网站,我已将登录状态设置为

[ <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/

相关文章:

asp.net - 如何在asp.net中将URL重写为子域,而无需在服务器上实际创建子域

asp.net - 如何禁用 TreeView 中的排序?

c# - 跳过基于模型属性之一的模型的所有验证 (ASP.Net Core 2.0)

c# - EF没有引入UserRoles表时如何添加角色使用?

android - 如何更改 SearchView 默认图标?

c# - 如何使用 ASP.net C# 将 HTTP Post 请求发送到套接字

ASP.NET WSAT(网站管理工具)和自定义成员资格提供程序

ASP.NET MVC 成员角色

emacs - 为特定函数配置 emacs 变量

css - 如何删除 Twitter 小部件中的边框