Pieter Brinkman Blog

Asp.Net: Clear inputfields after form submit

1 min readpieterASP.NetControls

Every time a form is successful summited I need to clear all input-fields to the default values and give feedback to the user. I wrote a method ClearControl that can have a control as input parameter. This method will set the control based on his type back to the defaultvalue.

public static void ClearControl(Control control) {
 switch (control.GetType().Name)  {   case "TextBox":    TextBox txtBox = (TextBox)control;
   txtBox.Text = "";
   break;
  case "DropDownList":    DropDownList ddl = (DropDownList)control;
   ddl.SelectedIndex = 0;
   break;
  case "CheckBox":    CheckBox chk = (CheckBox)control;
   chk.Checked = false;
   break;
  case "CheckBoxList":    CheckBoxList chkList = (CheckBoxList)control;
   foreach (ListItem li in chkList.Items)     li.Selected = false;
   break;
  case "Panel":    ClearFields((Panel)control);
   break;
  case "RadioButtonList":    RadioButtonList rbl = (RadioButtonList)control;
   rbl.SelectedIndex = -1;
   break;
 } }

To use this method I wrote a method 'ClearFields' that accepts a View or Container control. You can add every type of control that has the .Controls property.

public static void ClearFields(Panel container) {
 foreach (Control control in container.Controls)  {   ClearControl(control);
 } }
public static void ClearFields(View container) {
 foreach (Control control in container.Controls)  {   ClearControl(control);
 } }

When I have some time left I will try to implement the ClearFields Method as a ExtensionMethod. Cheers, Pieter