Ciao a tutti,
stò facendo le mie prime prove con asp.net , in particolare mi stò divertendo a fare un maschera di login utilizzando i web controls standard di asp.net. Ho fatto una semplice pagina di prova...
Il problema (per modo di dire) e sul link del LOGOUT. ho creato un link che porta a login.aspx?disconnect=true .. il problema è che quando ci clicco mi viene mostrato il codice presente in <LoggedInTemplate> quando invece dovrebbe mostrarmi il pezzo di codice che stà in <anonymousTemplate>codice:<div id="content"> <asp:LoginView ID="loginView1" runat="server"> <AnonymousTemplate> <form id="Form1" action="#" runat="server"> <asp:Login id="Login1" runat="server" DestinationPageUrl="~/Default.aspx" FailureText="Accesso negato. Controlla Username e Password inserite." LoginButtonText="Entra" PasswordRequiredErrorMessage="Password necessaria." RememberMeSet="True" RememberMeText="Ricordami al prossimo accesso." TitleText="Area riservata" UserNameLabelText="Username:" UserNameRequiredErrorMessage="Username necessario." Height="126px" Width="252px"></asp:Login> </form> </AnonymousTemplate> <LoggedInTemplate> <div><asp:LoginName runat="server" /> sei già collegato</div> <div>Torna al CMS oppure esegui il LOGOUT<a/></div> </LoggedInTemplate> </asp:LoginView> </div>
Infatti nel codice faccio cosi:
Questo è sbagliato perchè al PAge_Load l'HTML è gia stato renderizzato giusto?codice:public partial class login : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { if (Request.IsAuthenticated) { if (Request.QueryString["disconnect"] != null) { FormsAuthentication.SignOut(); } } } }
Come risolvo il problema? E' conveniente secondo voi creare un pagina ad hoc Logout.aspx che mi disconnetta e mi rimandi al login?
grassie,
Satoshy

Rispondi quotando