asp.net中遍历套用母版页的页面的控件

应该搞清楚控件在第几层

我们所要找的控件一般在第四层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 ;
              }

          }               
       }

   }
}

新手,有错误请及时指正,谢谢了!

原文地址:https://www.cnblogs.com/lvchenhao/p/4049541.html