Código Fonte - O melhor conteúdo para programadores

ASP.NET / Formulários

Limpando todos os controles do tipo input em uma página com ASP.NET C#


enviado por Alessandro Silvestre
Esta é uma rotina muito simples, porém de extrema necessidade. No exemplo é disparado através de um botão, esta tem a finalidade de percorrer todos os campos de um formulario frmPadrao e devolver seu status inicial.

Com poucas alterações você pode personalizar o modo como estes campos devem ser em seu status inicial como, por exemplo, setando opções default em combos ou checkbox.

Com funciona?
É criado um controle que apresenta um formulário e neste é feito um "for each" para percorrer todos seus objetos. Dentro deste laço é iniciada a validação para identificar qual é o tipo do objeto e aplicar um novo valor ao mesmo.

Pode-se, por exemplo, identificar seu id ou name e personalizar seus valores.

Espero que realmente possa ser útil
protected void Button1_Click(object sender, EventArgs e)
{
   Control myForm;
   using (myForm = Page.FindControl("frmPadrao"))
   {
      foreach (Control ctrlObj in myForm.Controls)
      {
         //Clears TextBox
         if (ctrlObj is TextBox)
         (ctrlObj as TextBox).Text = "";

         //Clears DropDown Selection
         if (ctrlObj is DropDownList)
         (ctrlObj as DropDownList).ClearSelection();

         //Clears ListBox Selection
         if (ctrlObj is ListBox)
         (ctrlObj as ListBox).ClearSelection();

         //Clears CheckBox Selection
         if (ctrlObj is CheckBox)
         (ctrlObj as CheckBox).Checked = false;

      }
   }
}


Versão impressa gerada em: sexta-feira, 27 de novembro de 2009

© Copyright 2006 - R&W Consulting.