.net下遍历内容页所有控件实现重置功能
时间:2011-05-26 来源:pitpig
在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();
}
}
但是在内容页中,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;
}
}
相关阅读 更多 +