Класс PlaceholderPageContentConnector
используется для подключения технологических скриптов и стилей, которые необходимы для работы контролов и среды выполнения при помощи контролов-плейсхолдеров. Такой способ позволяет настраивать приложение более гибко, добавляя прикладной код до/после технологического и пользовательского.
Является альтернативой методу подключения ресурсов через FilterPageContentConnector.
Принцип работы
Подключение ресурсов происходит при помощи обработки события начала реднеринга страницы (PreRenderComplete
):
- в коллекции контролов страницы (включая Master-страницу) ищутся контролы с следующими идентификаторами:
FlexberryScripts
- плейсхолдер для подключения скриптов;FlexberryStyles
- плейсхолдер для подключения стилей;FlexberryRawHtml
- плейсхолдер для подключения специальных технологических элементов;
- в коллекцию контролов плейсхолдеров добавляются контролы, подключающие ресурсы.
В случае, если контролы не найдены, то будет сгенерировано исключение.
PreRenderComplete
, то элементы, подключенные после уже не будут добавлены в разметку.Настройка
1.Для подключения ресурсов на основе плейсхолдеров нужно настроить unity
(web.config
):
<register type="NewPlatform.Flexberry.Web.Http.IPageContentConnector, NewPlatform.Flexberry.Web.Http"
mapTo="NewPlatform.Flexberry.Web.Http.PlaceholderPageContentConnector, NewPlatform.Flexberry.Web.Http" />
2.В разметку страницы / Master-страницы нужно добавить контролы-плейсхолдеры:
<asp:Placeholder ID="FlexberryStyles" runat="server" />
<asp:Placeholder ID="FlexberryScripts" runat="server" />
<asp:Placeholder ID="FlexberryRawHtml" runat="server" />
FlexberryStyles
обычно добавляется в <head> страницы.FlexberryScripts
влияет на корректность работы пользовательских скриптов, добавляемых на страницу в ContentPlaceHolder0
. FlexberryScripts
должен находиться выше в разметке.runat=server
)!