#857 - Un metodo FindControl ricorsivo per pagine ASP.NET
In alcuni casi è necessario recuperare un controllo annidato all'interno di una serie di altri, senza poter sapere a prori quale sia esattamente il suo controllo genitore. In casi come questo è necessario scrivere una funzione che faccia la scansione, in maniera ricorsiva, dell'intero albero dei controlli, così da poter essere utilizzato, ad esempio, sia all'interno di pagine che siano basate su Master Page, sia in altri contesti:
public Control FindControlRecursive(Control owner, string controlID)
{
Control myControl = null;
// faccio un ciclo su tutti i controlli
if (owner.Controls.Count > 0)
{
foreach (Control c in owner.Controls)
{
myControl = FindControlRecursive(c, controlID);
if (myControl != null)
return myControl;
}
}
// ho trovato il controllo, lo restituisco
if (controlID.Equals(owner.ID))
return owner;
return null;
}
// recupero un controllo Label chiamato Title
Label footer = FindControlRecursive(this, "Title") as Label;Approfondimenti
- ASP.NET 3.5 Application Services (Membership, Roles, Profile API) sotto Classic ASP con IIS 7.0
- Dal MIX08 la Preview2 di ASP.NET MVC
- #935 - Sfruttare l'evento LoadComplete della pagina
- #907 - Utilizzo di XmlSerializer con custom collection
- Attaccare bottone
- Il DataSet nel web è il male
- #947 - La direttiva OutputCache con ASP.NET 2.0 e 3.5
- Esportazione di pagine ed allegati in formato MIME
- Realizzare un controllo custom in ASP.NET AJAX - Prima parte
- Speciale Custom Control per ASP.NET
- #916 - Utilizzare il ControlState di ASP.NET 2.0
- #905 - Prolungare la scadenza della session fino alla chiusura del browser con ASP.NET AJAX
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.







Stampa
Snippet
Download 


10annidi.ASPItalia.com: iscriviti alla competizione e vinci fantastici premi ogni mese!
ottimo !! mi sono preso la briga di convertirlo in vb se può essere utile Public Function FindControlRecursive(ByVal owner As Control, ByVal controlID...
Continua »»» | Rispondi »»»