Accedere a controlli nidificati con FindControl

di Daniele Bochicchio, in ASP.NET, Web Server Controls, User Controls,

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.

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

I più letti di oggi