我的 APS.NET 应用程序中有一个带有 AnonymousTemplate 和 LoggedInTemplate 的 LoginView。我已将 LoginStatus 控件放在 LoggedInTemplate 中,但它没有按预期工作。
这是代码
<asp:LoginView ID="LoginView1" runat="server">
<AnonymousTemplate>
<asp:Login ID="Login1" runat="server" OnAuthenticate="Login1_Authenticate"
DisplayRememberMe="False" PasswordRecoveryUrl="/"
DestinationPageUrl="/">
</asp:Login>
</AnonymousTemplate>
<LoggedInTemplate>
You are logged in as
<asp:LoginName ID="LoginName1" runat="Server"></asp:LoginName>.
<asp:LoginStatus ID="LoginStatus1" runat="server" LogoutAction="Redirect"
LogoutPageUrl="/" onloggingout="LoginStatus1_LoggingOut" />
</LoggedInTemplate>
</asp:LoginView>
所有事件处理程序都在代码隐藏文件中正确定义。
问题是,如果用户登录,他将看到他的用户名以及来自 LoginStatus 控件的注销链接。单击注销链接会使用户返回登录表单(登录和注销表单都是同一用户控件的一部分),但如果我刷新页面,用户仍处于登录状态。
我注意到如果我将 LoginStatus 控件移到 LoginView 之外,那么注销过程会按预期工作。我还注意到,当 LoginStatus 在 LoginView 中时,它不会引发注销事件。
有谁知道可能是什么问题?