在C#中没有<Form>里自带的"reset"命令按钮,因此需要自己写代码实现重置功能。包括文本框清空,复选框清空等操作。
通常情况下,遍历页面中的所有控件,将TextBox的值设为空即可,代码如下:
foreach
(Control control
in
this
.Controls)
{
if (control is TextBox)
{
((TextBox)control).Text = "" ;
}
if (control is ListBox)
{
((ListBox)control).Items.Clear();
}
}
{
if (control is TextBox)
{
((TextBox)control).Text = "" ;
}
if (control is ListBox)
{
((ListBox)control).Items.Clear();
}
}
但是在内容页中,this.Controls却不包含页面上的控件,因此遍历时并不能得到所需的控件集合。
原因不再赘述。解决方法是通过Master.FindControl获取当前内容页的ContentPlaceHolder,再遍历其子控件。
代码如下:
ContentPlaceHolder ContentID
=
(ContentPlaceHolder)Master.FindControl(
"
ContentID
"
);
foreach (Control control in ContentID .Controls)
{
if (control is TextBox)
{
((TextBox)control).Text = "" ;
}
if (control is CheckBox)
{
((CheckBox)control).Checked = false ;
}
}
foreach (Control control in ContentID .Controls)
{
if (control is TextBox)
{
((TextBox)control).Text = "" ;
}
if (control is CheckBox)
{
((CheckBox)control).Checked = false ;
}
}