Доступ к тегу <li>, ASP.Net - PullRequest
       18

Доступ к тегу <li>, ASP.Net

1 голос
/ 23 июля 2010

Я пытаюсь получить доступ к тегу <li> в моем первом файле главной страницы.Я пробовал FindControl (..), но он всегда возвращает ноль.

Структура:

  • Первая мастер-страница (которая содержит <li id="element" runat="server">
  • Вторая мастер-страница
  • Default.aspx (здесь необходим доступ)

Что мне нужно сделать, чтобы получить доступ к элементу li?

Ответы [ 4 ]

1 голос
/ 23 июля 2010

Обычно вы получаете доступ к серверному элементу управления следующим образом:

Page.Master.FindControl("controlID");

Однако, если ваш тег не установлен на runat="server", вам придется найти его другим способом, например, получитьрезультирующий Response.Content и его изменение в какой-то момент.

РЕДАКТИРОВАТЬ: Поскольку вы используете вложенные главные страницы, вам может потребоваться вернуться назад в иерархию элементов управления, если вы хотитедоберитесь до "корневого" мастера и найдите в нем элемент управления.

Может быть: Control li = Page.Master.Master.FindControl("controlID")

0 голосов
/ 23 июля 2010

Вам нужно создать функцию, которая рекурсивно находит управление. Что-то вроде:

public control FIndControlEx(COntrolsCollection controls, string id)
{

   foreeach(Control ctrl in controls)
   {
      if (ctrl.id == id)
         return ctrl;
      var result = FindCOntrolEx(ctrl.Controls, id);
      if (result != null)
        return result;
   }
}
0 голосов
/ 23 июля 2010

Возможно ли, что ваши главные страницы не наследуются правильно?

0 голосов
/ 23 июля 2010

Возможно, вы забыли runat=server

Код поможет.

...