Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Получение вложенного содержимого ContentPlaceHolder'а

257
26 апреля 2010 года
kosfiz
1.6K / / 18.09.2005
Всем добрый вечер.

Имеется следующая задача:
мне необходимо получить содержимое ContentPlaceHolder'а Content, которого в свою очередь содержит ContentPlaceHolder, а его контент тоже содержит холдер и т.д. Уровней вложенности порядочно, порядка 7-8.

Моё решение: просто решил сделать RenderControl вот так (с учётом того, что имею доступ к ContentPlaceHolder'у на верхнем уровне с ID=tr)
 
Код:
protected string innerHtml = "";
/* skip */
StringBuilder sb = new StringBuilder();
StringWriter stringWriter = new StringWriter(sb);
HtmlTextWriter htmlTextWriter = new HtmlTextWriter(stringWriter);
tr.RenderControl(htmlTextWriter);
innerHtml = sb.ToString();


Что имею: в тестовом проекте, всё отрабатывает замечательно и в Page_Load я получаю содержимое холдера со всеми тегами и значениями, как статическими, так и значения, генерящиеся в asp.net-контролах.

На "живом" проекте на базе Community Server (CS) делаю тоже самое - получаю лишь статическое содержимое, т.е. то, что генерируется контролами CS мне не особо доступно, а как раз его мне и надо.
Есть, правда, исключение: на одном из разделов всё замечательно отрабатывает, но это только один раздел из 4.

Пробовал перенести код получения содержимого ContentPlaceHolder'а в Page_PreRender - не помогло.

Если у кого-нибудь есть мысли по поводу того, что ещё можно предпринять по решению сложившейся ситуации, буду благодарен за любую наводку.

Заранее спасибо.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог