Categorias

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

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;

		}
	}
}