Kentico 7 在 Portal Master 中创建内容占位符以在继承页面的 ASCX 中使用
Kentico 7 create content placeholder in Portal Master to use in ASCX in inherited page
在从 Portal Master 继承的 Ad-Hoc 页面上使用 Kentico 7。我想在呈现的临时页面中的 </body>
标记之前插入一些文字脚本或代码。
我想我必须通过编辑 Portal Master 并添加以下内容来做到这一点:
<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.
我不想注册脚本块。我只想将文本放在由 Portal Master 控制的 </body>
标记之前的 Ad-Hoc 页面中。
我做错了什么?
我不是 100% 确定您要实现的目标。举个例子或附上截图会很有帮助。
以下是在 Kentico 中附加 JavaScript 的方法:
通过门户引擎:
- 使用 JavaScript Web 部件 - 让您可以选择脚本的位置
以编程方式从代码隐藏:
- 使用
CMS.Helpers.ScriptHelper
API(包装 ASP.NET 的 ClientScriptManager
)
ScriptHelper.RegisterStartupScript()
将脚本放在页面末尾
ScriptHelper.RegisterClientScriptBlock()
将脚本放在页面元素之前
- 两者的区别很好解释here。
以编程方式来自 ASPX 标记:
- 将您的
<script>
块放在 .aspx / .ascx 文件中的所需位置
计算包含脚本的代码隐藏变量
<asp:Button ID="btnOK" runat="server" Text="OK" />
<script type="text/javascript">
<%= fieldWithActualScript %>
</script>
在从 Portal Master 继承的 Ad-Hoc 页面上使用 Kentico 7。我想在呈现的临时页面中的 </body>
标记之前插入一些文字脚本或代码。
我想我必须通过编辑 Portal Master 并添加以下内容来做到这一点:
<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.
我不想注册脚本块。我只想将文本放在由 Portal Master 控制的 </body>
标记之前的 Ad-Hoc 页面中。
我做错了什么?
我不是 100% 确定您要实现的目标。举个例子或附上截图会很有帮助。
以下是在 Kentico 中附加 JavaScript 的方法:
通过门户引擎:
- 使用 JavaScript Web 部件 - 让您可以选择脚本的位置
以编程方式从代码隐藏:
- 使用
CMS.Helpers.ScriptHelper
API(包装 ASP.NET 的ClientScriptManager
)ScriptHelper.RegisterStartupScript()
将脚本放在页面末尾ScriptHelper.RegisterClientScriptBlock()
将脚本放在页面元素之前
- 两者的区别很好解释here。
以编程方式来自 ASPX 标记:
- 将您的
<script>
块放在 .aspx / .ascx 文件中的所需位置 计算包含脚本的代码隐藏变量
<asp:Button ID="btnOK" runat="server" Text="OK" /> <script type="text/javascript"> <%= fieldWithActualScript %> </script>