перечислить через элементы управления страницы asp.net webforms, это возможно? - PullRequest
0 голосов
/ 14 мая 2010

Я пытаюсь перечислить все элементы управления страницы, но все, что я могу найти, это thePage.FindControl(string), а свойство .Controls не имеет элементов управления, которые есть на странице. Кто-нибудь знает, как перечислить все элементы управления страницы веб-форм

Ответы [ 2 ]

2 голосов
/ 14 мая 2010

Следующее должно перечислить все дочерние элементы управления для вас.

IEnumerable<Control> GetAllChildControls(ControlCollection controls)
{
  foreach(Control c in controls)
  {
    yield return c;

    if(c.Controls.Count > 0)
    {
      foreach(Control control in GetAllChildControls(c.Controls))
      {
        yield return control;
      }
    }
  }
}
1 голос
/ 14 мая 2010

Свойство Controls содержит только прямые дочерние элементы текущего элемента управления. Если вы хотите перебрать все элементы управления на странице, вам придется перебирать дочерние элементы страницы, затем рекурсивно перебирать их дочерние элементы, а затем дочерние элементы дочерних элементов и так далее. Рекурсивный метод - самый простой способ реализовать это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...