Ho un LoginView nella mia applicazione APS.NET con AnonymousTemplate e LoggedInTemplate. Ho inserito il controllo LoginStatus in LoggedInTemplate ma non funziona come previsto.Login ASP.NET in LoginView non attiva evento LoggingOut
Ecco il codice
<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>
Tutti i gestori di eventi siano correttamente definiti nel codice al file.
Il problema è che se l'utente effettua il login, vedrà il suo nome utente con il collegamento di disconnessione dal controllo LoginStatus. Facendo clic sul link di logout si riporta l'utente al modulo di login (sia il modulo di login che di logout fanno parte dello stesso controllo utente) ma se aggiorno la pagina l'utente è ancora loggato.
Ho notato che se mi muovo LoginStatus controlla all'esterno di LoginView, quindi il processo di disconnessione funziona come previsto. Ho anche notato che quando LoginStatus si trova in LoginView, quindi non genera un evento di disconnessione.
Qualcuno ha qualche idea quale potrebbe essere il problema?
In realtà ho esattamente lo stesso problema. Ho un controllo LoginStatus in LoggedInTemplate e non attiva l'evento LoggingOut. Non sono sicuro se sia valido annidarli in quel modo. Sembra che sul postback (quando si fa clic sul collegamento Disconnessione) il controllo LoginStatus non faccia più parte della pagina, pertanto non attiva l'evento. – e36M3
Strano ... Ho provato la stessa identica configurazione di te su un'applicazione in .NET 4.0. Mi sono appassionato e non ho questo problema ... Stai usando Ajax o qualcosa del genere nella pagina? Prova a farlo su un nuovo progetto per vedere se lo fa sempre. Stai usando Visual Studio Devlopement Server o stai usando IIS? Non so se può cambiare qualcosa ma è solo perché voglio provare a rendere il mio progetto il più simile possibile al tuo. –
È risultato essere il problema Sitecore (anche se non ho menzionato che sto usando quello su Sitecore) e nel normale progetto ASP.NET questo non è un problema. – RaYell