#706 - Accedere a controlli nidificati con FindControl

Spesso si ha la necessità di accedere ad un controllo nidificato all'interno di un altro, ad esempio uno user control.
In questo caso il metodo FindControl consente di recuperare l'istanza del control, semplicemente specificando tutta la gerarchia, così:

Dim label1 as Label = DirectCast(FindControl("uc1").FindControl("label1"), Label)
' accedo al testo del controllo nidificato
label2.Text = label1.Text


Una sintassi del tutto equivale permette di specificare il percorso del control nell'albero della pagina, separando i contenitori attraverso il carattere ":", in questo modo:

Dim label1 as Label = DirectCast(FindControl("uc1:label1"), Label)


Ovviamente questo approccio è ancora più comodo quando i livelli di nidificazione sono superiore a due, perchè consente facilmente di accedere ad un oggetto che nell'albero si trova al di sotto del contenitore diretto.


Approfondimenti
Commenti

Esprimi il tuo giudizio su questo script:

Per procedere devi essere autenticato.

Aggiungi un nuovo commento »»»
Per inserire un commento, devi registrarti alla nostra community.