我在jQuery中为一些额外的javascript创建了一个简单的placeHolder - 问题是placeHolder在某些脚本标记内,因此Sharepoint设计器无法识别。
页面正常工作,所以直到现在它还没有打扰我,因为你不能触及设计视图的任何部分,而不解决问题。
我的代码在主模板中看起来像这样:
<script type="text/javascript>
$(document).ready(function(){
<asp:ContentPlaceHolder id="PlaceHolderjQuery" runat="server" />
});
</script>
有没有办法让这个工作正常,以便占位符实际上被Sharepoint Designer识别?
感谢您的帮助!
答案 0 :(得分:2)
我知道您正在尝试调用PlaceHolder中定义的JavaScript函数。 但是你的代码不会工作,因为PlaceHolder是一个服务器控件,并将其作为其他标签的子元素推送不起作用。脚本标记是客户端处理标记。所以我建议改变逻辑如下。
在母版页中,我将使用JavaScript来默认调用函数。
<script type="text/javascript>
$(document).ready(function(){
myOnLoadFunction();
});
</script>
我将使用虚拟函数
定义内容持有者<asp:ContentPlaceHolder id="PlaceHolderjQuery" runat="server">
<script type="text/javascript>function myOnLoadFunction(){ //do nothing }</script>
</asp:ContentPlaceHolder>
现在,您可以在内容页面中定义
<asp:Content ID="javascript" ContentPlaceHolderID="PlaceHolderjQuery" runat="server">
<script type="text/javascript>function myOnLoadFunction(){ alert('Hello jQuery'); }</script>
</asp:Content>