AnonymousTemplate と LoggedInTemplate を使用して、APS.NET アプリケーションに LoginView があります。LoggedInTemplate 内に LoginStatus コントロールを配置しましたが、期待どおりに動作しません。
これがコードです
<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 内にある場合、ログアウト イベントが発生しないことにも気付きました。
何が問題なのか誰にも考えがありますか?