asp.net 怎样遍历页面的所有控件(table中的所有控件)? 我用
for(inti=0;i<this.Page.Controls.Count;i++){foreach(System.Web.UI.Controlcontrolinthis...
for (int i = 0; i < this.Page.Controls.Count; i++)
{
foreach (System.Web.UI.Control control in this.Page.Controls[i].Controls)
{
if (control is TextBox)
(control as TextBox).Text = "";
if (control is CheckBox)
(control as CheckBox).Checked = false;
if (control is RadioButtonList)
(control as RadioButtonList).SelectedIndex = -1;
}//foreach
}//for
我用这个遍历出来 this.Page.Controls.Count 只有5个(大部分都是HtmlMeta),而我的页面最少也有20多个控件一textbox居多。 展开
{
foreach (System.Web.UI.Control control in this.Page.Controls[i].Controls)
{
if (control is TextBox)
(control as TextBox).Text = "";
if (control is CheckBox)
(control as CheckBox).Checked = false;
if (control is RadioButtonList)
(control as RadioButtonList).SelectedIndex = -1;
}//foreach
}//for
我用这个遍历出来 this.Page.Controls.Count 只有5个(大部分都是HtmlMeta),而我的页面最少也有20多个控件一textbox居多。 展开
2个回答
展开全部
你的写一个递归方法,这样只会查询出来Page容器里面的controls.
void EachControls(Control ctrl)
{
foreach(control in ctrl.Controls)
{
//判断是否包含子控件,
if(control.HasControls())
{
EachControls(control);
}
if(control is TextBox)
(control as TextBox).Text="";
.............
}
}
void EachControls(Control ctrl)
{
foreach(control in ctrl.Controls)
{
//判断是否包含子控件,
if(control.HasControls())
{
EachControls(control);
}
if(control is TextBox)
(control as TextBox).Text="";
.............
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询