2009-03-21 15 views
5

In Evento PageLoad del modulo, non posso fare riferimento al controllo laterale del server all'interno del modello registrato. Cosa mi manca Così, quando sono entrato io mostrerà controllo casella di testo altrimenti vi mostrerò testo come "prego accedere per fare soso .."Controllo Loginview: come fare riferimento ai controlli laterali del server all'interno della finestra di dialogo registrata

Aiutateci ..

+0

BTW .. questo è per il controllo LoginView. –

+0

Grazie mille !!!!! –

risposta

7

è possibile utilizzare il metodo FindControl sul vostro controllo LoginView a ottenerli ...

TextBox t = (TextBox)LoginView2.FindControl("TextBox1"); 
string s = null; 

if (t != null) 
{ 
    // textbox is in the current scope of the LoginView 
    s = t.text; 
} 
else 
{ 
    // the textbox is not in the current scope of the LoginView. 
} 

Tuttavia, questo funzionerà solo per i controlli che sono attualmente nella visualizzazione mostrata del controllo LoginView. Dovresti testare che stai visualizzando la vista di accesso prima di provare ad afferrare la casella di testo, oppure potresti anche provare che FindControl non restituisce un riferimento null.

+1

Questo non funziona. Ho provato questo ... TextBox t = (TextBox) LoginView2.FindControl ("TextBox1"); string s = t.Text; e questo è l'errore che ottengo ... Riferimento oggetto non impostato su un'istanza di un oggetto. –

+1

sì, non funziona anche per me – Marko

+1

questo non funziona per me – Nurlan

-1

Se si riscontrano ancora problemi nel fare riferimento all'oggetto nascosto, è possibile che non si stia digitando il valore corretto. Supponiamo che tu abbia un elenco a discesa chiamato "DropDownList1" nidificato in un loggedInView. È necessario impostare un nuovo oggetto che utilizza il metodo FindControl della classe DropDownList, e quindi utilizzare il nuovo oggetto:

DropDownList d = (DropDownList)ucLogin.FindControl("DropDownList1"); 

     bool answer = d.SelectedValue.StartsWith("S"); 
     if (answer == true) 
     { 
      Response.Redirect("~/MemberPages/ChangePassword.aspx"); 
     } 

Nel mio caso, io sto reindirizzando l'utente a una nuova pagina se che gli oggetti si avvia valore selezionati con una "S".

Funziona per me, e spero che funzioni per voi!

  • Ben Sewards
+0

questo non funziona per me – Nurlan

Problemi correlati