Disabilitare tutti i web control in una pagina…

di Andrea Zani, in .NET4,

Visto che mi serve spesso, ecco un po' di veloce codice:

CallAllWebControl<Button>(this.Page, action => action.Enabled = false);
CallAllWebControl<TextBox>(this.Page, action => action.Enabled = false);

public void CallAllWebControl<T>(Control controls, Action<T> method) where T:Control
{
        Action<Control, Action<T>> fun = null;
        fun = (c, MethodX) =>
             {
                 if (c.GetType()==typeof(T)) MethodX((T)c);
                 foreach (Control item in c.Controls)
                     fun(item, method);
             };
        fun(controls, method);
}

Utile anche nel caso volessi check-are tutti i checkbox nella pagina:

CallAllWebControl<CheckBox>(this.Page, action => action.Checked = true);

Non è ottimizzatissimo, ma fa bene il suo lavoro.

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.

Nella stessa categoria
I più letti del mese