Disabilitare tutti i web control in una pagina…

Andrea Zani

di Andrea Zani, in .NET4, mercoledì 8 luglio 2009 ore 14.21

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

Per inserire un commento, devi avere un account.

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



Segnala su: Facebook MSDN Social Twitter Segnalo Wikio Diggita Technorati Stumbleupon Google Yahoo FriendFeed Delicious Furl

Nella stessa categoria
I più letti del mese
IL CONTENUTO
TagCloud
BLOG INFO
  • 305 post, 206 commenti, 36 trackback
  • Feed blog e contenuti tecnici: RSS
  • Feed blog: RSS Atom
IN EVIDENZA