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