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.
[code language=’c#’]
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;
}
}
[/code]
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.
[code language=’c#’]
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);
}
}
[/code]
When I have some time left I will try to implement the ClearFields Method as a ExtensionMethod.
Cheers,
Pieter