2016-02-25 4 views
0

Работает в Kentico 7 на странице Ad-Hoc, которая наследуется от Portal Master. Я хочу вставить некоторый литеральный скрипт или код прямо перед тегом </body> на рекламной странице ad-hoc.Kentico 7 создает контент-заполнитель в Portal Master для использования в ASCX в унаследованной странице

Я думал, что я должен был бы сделать это путем редактирования мастера портала и добавить следующее:

<cms:CMSPagePlaceholder ID="plcBodyEnd" runat="server"> 
    <LayoutTemplate> 
    </LayoutTemplate> 
</cms:CMSPagePlaceholder> 

, а затем в компоновке Ad-Hoc страницы этого:

<cms:CMSContent runat="server" id="cntLeft" PagePlaceholderID="plcBodyEnd"> 
<script type="text/javascript"> 
ProviderConnections.Transparency.initializeWidget({ }); 
</script> 
</cms:CMSContent> 

Это работало хорошо, пока я не пошел на вкладку дизайн на Ad-Hoc странице, где я получил следующее сообщение об ошибке:

Object reference not set to an instance of an object. 

Я не хочу регистрировать блоки скриптов. Я просто хочу поместить текст на страницу Ad-Hoc, которая идет там до тега </body>, который контролируется Portal Master.

Что я делаю неправильно?

ответ

1

Я не уверен на 100%, чего вы пытаетесь достичь. Привести пример или приложить скриншот было бы очень полезно.

Вот способы крепления JavaScript в Kentico:

Через портал двигателя:

  • Использование JavaScript веб-часть - это дает вам возможность выбора, где скрипт должен быть расположен

JavaScript web part

Программным с фоновым кодом:

  • Использование CMS.Helpers.ScriptHelper API (обертки вокруг ClientScriptManager asp.net ')
    • ScriptHelper.RegisterStartupScript() поставить скрипт в конце страницы
    • ScriptHelper.RegisterClientScriptBlock() положить сценарий, прежде чем страницы
  • Разница между двумя хорошо объяснена here.

Программным из ASPX разметки:

  • Поместите свой <script> блок в нужное место в ваших .aspx/.ascx файлов
  • Оценивать код-за переменной, содержащей сценарий

    <asp:Button ID="btnOK" runat="server" Text="OK" /> <script type="text/javascript"> <%= fieldWithActualScript %> </script>

+0

Что делать, если я хочу простой заполнитель?Литеральный контроль. Что-то, что я могу сделать перед и поставить там скрипт или другие вещи. – Caveatrob

+0

Сценарий запуска - это то, что вы хотите - оно отображается непосредственно перед закрывающим тегом формы (который отображается непосредственно перед закрывающим тегом тела). – rocky