У меня есть LoginView в моем приложении APS.NET с AnonymousTemplate и LoggedInTemplate. Я установил элемент управления LoginStatus внутри LoggedInTemplate, но он не работает должным образом.ASP.NET LoginStatus внутри LoginView не запускает событие LoggingOut
Вот код
<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, он не создает событие loggingout.
Есть ли у кого-нибудь идеи, что может быть проблемой?
У меня есть точно такая же проблема. У меня есть элемент управления LoginStatus в LoggedInTemplate и он не запускает событие LoggingOut. Я не уверен, правильно ли их вложить. Кажется, что при обратной передаче (при нажатии на ссылку «Выход») элемент управления LoginStatus больше не является частью страницы, поэтому он не запускает событие. – e36M3
Weird ... Я попробовал ту же самую настройку, что и вы, в приложении .NET 4.0. Я ушел, и у меня нет этой проблемы ... Используете ли вы Ajax или что-то подобное на странице? Попытайтесь сделать это в новом проекте, чтобы увидеть, всегда ли это делается. Используете ли вы Visual Studio Devlopement Server или используете IIS? Dunno, если это может что-то изменить, но это только потому, что я хочу попытаться сделать мой проект похожим на вас как можно больше. –
Оказалось, что проблема Sitecore (хотя я не упоминал, что я использую это в Sitecore), и в обычном проекте ASP.NET это не проблема. – RaYell