Custom control di tipo container e l'importanza di usare INamingContainer

di Cristiano Degiorgis, in ASP.NET 2.0, Custom Control, UserScript,

Utilizzando un Server Control custom che avevo scritto un paio di settimane prima, ho avuto la necessità di ottenere un HyperLink annidato all'interno del controllo stesso.
La decisione più ovvia mi è sembrata quella di utilizzare, sul contenitore del controllo da recuperare, il metodo FindControl.
Con sopresa FindControl mi torna null, pur vedendo il mio controllo tra gli item della collection Controls del suo contenitore. Dove sta l'errore, mi domando? Mi ero dimenticato di implementare nel mio controllo l'interfaccia INamingContainer.

Questa interfaccia garantisce infatti la corretta gerarchia trai i controlli annidati, valorizzando la proprietà NamingContainer per i controlli child del parent che la implementa, assicura la generazione di uno uniqueID per tutti i controlli child e quindi la possibilità di utilizzare con successo il metodo FindControl.

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