2011-10-14 10 views
7

enter image description here Ho una pagina master con una loginview, nella vista login ho un controllo login asp. ho anche un'etichetta che NON è contenuta in un loginview.Trova controllo in loginview

Come accedere al controllo casella di testo nome utente nel controllo accesso asp e visualizzare il testo in un'etichetta.

Si prega di aiuto!

Questo è il mio codice:

Login lg = (Login)LoginView1.FindControl("Login1"); 
TextBox tb = (TextBox)lg.FindControl("UserName"); 

Label2.Text = tb.Text; 

ok questo è quello che devo fare: Un denunciante può disattivare il suo account. Un account manager e tecnici sono disattivati ​​e, se necessario, riattivati ​​dall'amministratore. il reclamante può riattivare il suo account in qualsiasi momento.

Ho bisogno di convalidare il nome utente inserito nella casella di testo per verificare prima se è un utente attivo. se no gli permette di riattivarlo. come posso accedere al testo dalla casella di testo del nome utente. il resto lo capisco.

+0

Puoi pubblicare il markup per il loginview? –

+0

Che dovrebbe funzionare, quali errori ottieni? –

risposta

9

Forse è necessario verificare se l'utente è autenticato o no, perché il controllo TextBox è all'interno della AnonymousTemplate o è un problema di spazio dei nomi (WebControls.Login):

if (!HttpContext.Current.User.Identity.IsAuthenticated) { 
    Login lg = (WebControls.Login)LoginView1.FindControl("Login1"); 
    TextBox tb = (TextBox)lg.FindControl("UserName"); 
    Label2.Text = tb.Text; 
} 

Ma normalmente si otterrebbe il nome utente/password tramite il proprietà appropriate UserName/Password di Login.

Modifica: lo screenshot aggiunto è molto piccolo ma vedo che si sta ricevendo un'eccezione InvalidCastException, quindi la mia ipotesi sul problema dello spazio dei nomi era corretta.

+0

che è l'errore ottengo –

+0

Suppongo che tu abbia un'altra classe "Login", che causa un conflitto nello spazio dei nomi. Vuoi lanciarlo su 'WebControls.Login'. –

+0

l'errore è: impossibile eseguire il cast dell'oggetto di tipo 'System.Web.UI.WebControls.Login' per digitare 'Gui.Login'. Ho solo 1 controllo di accesso nell'intera applicazione –

Problemi correlati