Могу ли я узнать, какая страница находится в ContentPlaceHolder моей главной страницы? - PullRequest
0 голосов
/ 08 сентября 2010

Все найденные Google, с которыми я столкнулся, говорят мне, как использовать FindControl для доступа к элементу управления на главной странице с самой страницы контента.

Однако я пытаюсь сделать все наоборот.На главной странице я хочу сослаться на любую дочернюю страницу в ContentPlaceHolder.

Почему вы спрашиваете.Я хочу, чтобы главная страница знала, какая вкладка должна быть активной, в зависимости от содержательной страницы, которая в настоящее время находится в качестве заполнителя.Это позволяет мне не использовать каждую страницу для ссылки на главную страницу и позволяет им изменять активную вкладку;это должна быть работа главной страницы (если есть способ узнать, к кому она относится).

Спасибо.Пожалуйста, не надо.

1 Ответ

4 голосов
/ 08 сентября 2010

Если вы хотите получить экземпляр исполняемого класса страницы, вы можете извлечь его из текущего HTTP-контекста:

var page = HttpContext.Current.CurrentHandler as Page;

Оттуда вы можете перемещаться по дереву элементов управления страницы, вызывая FindControl(), и так далее.Однако будьте осторожны с жизненным циклом страницы, поскольку события главной страницы имеют тенденцию срабатывать раньше, чем их события на странице.

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