应该搞清楚控件在第几层
我们所要找的控件一般在第四层site1_master---ContentPlaceHolder---HtmlForm---CheckBox
第一层是site1_master,母版
第二层是ContentPlaceHolder,是母版的’坑‘,
第三层是HtmlForm,就是HTML表单,
第四层就是子控件了
所以要多层遍历
下面例子是用多层遍历找页面中的CheckBox,并列出各层名称
string s="";
for (int i = 0; i < Page.Controls.Count; i++) //site1_master中所有控件
{
foreach (Control conn in Page.Controls[i].Controls)//在site1_master中中遍历,寻找ContentPlaceHolder
{
foreach (Control con in conn.Controls)//在ContentPlaceHolder中遍历,寻找HtmlForm
{
foreach (Control c in con.Controls)//在HtmlForm中遍历,寻找CheckBox
{
if (c.GetType().Name.Equals("CheckBox"))
{
s=conn.GetType().Name + "---" + con.GetType().Name + "---" + c.GetType().Name ;
}
}
}
}
}
新手,有错误请及时指正,谢谢了!