1
我遇到ASP.NET WebForms註銷問題。 我爲Google和Facebook啓用外部登錄後無法使用。啓用外部登錄後,ASP.NET WebForms註銷不起作用
單擊「註銷」按鈕不會觸發LoginStatusControl
中的OnLoggingOut
事件,因此,未命中後端方法Unnamed_LoggingOut
。點擊註銷按鈕後,它會進行回發並重新加載主頁。如果我輸入其他頁面,然後單擊註銷按鈕,它將起作用併成功註銷。
我使用Visual Studio母版頁模板和後面的代碼,它們沒有被修改。
<asp:LoginView runat="server" ViewStateMode="Disabled">
<AnonymousTemplate>
<ul class="nav navbar-nav navbar-right">
<li><a runat="server" href="~/Account/Register">Register</a></li>
<li><a runat="server" href="~/Account/Login">Log in</a></li>
</ul>
</AnonymousTemplate>
<LoggedInTemplate>
<ul class="nav navbar-nav navbar-right">
<li><a runat="server" href="~/Account/Manage" title="Manage your account">Hello, <%: Context.User.Identity.GetUserName() %> !</a></li>
<li>
<asp:LoginStatus runat="server" LogoutAction="Redirect" LogoutText="Log off" LogoutPageUrl="~/" OnLoggingOut="Unnamed_LoggingOut" />
</li>
</ul>
</LoggedInTemplate>
protected void Unnamed_LoggingOut(object sender, LoginCancelEventArgs e) {
Context.GetOwinContext().Authentication.SignOut(DefaultAuthenticationTypes.ApplicationCookie);
}