在继承自Portal Master的Ad-Hoc页面上使用Kentico 7。我想在呈现的ad-hoc页面中的</body>
标记之前插入一些文字脚本或代码。
我认为我必须通过编辑门户网站主文件并添加以下内容来执行此操作:
<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.
我不想注册脚本块。我只想将文本放在由</body>
标记之前的Ad-Hoc页面中,该标记由Portal Master控制。
我做错了什么?
答案 0 :(得分:1)
我不是100%肯定你想要实现的目标。举例或附上截图非常有帮助。
以下是在Kentico中附加JavaScript的方法:
通过门户引擎:
以编程方式进行代码隐藏:
CMS.Helpers.ScriptHelper
API(ASP.NET的ClientScriptManager
包装器)
ScriptHelper.RegisterStartupScript()
将脚本放在页面末尾ScriptHelper.RegisterClientScriptBlock()
将脚本放在页面元素之前以编程方式从ASPX标记:
<script>
块放入.aspx / .ascx文件中的所需位置评估包含脚本
的代码隐藏变量 <asp:Button ID="btnOK" runat="server" Text="OK" />
<script type="text/javascript">
<%= fieldWithActualScript %>
</script>