Sharepoint 2007占位符问题

时间:2009-11-06 16:36:57

标签: sharepoint sharepoint-2007 sharepoint-designer

我在jQuery中为一些额外的javascript创建了一个简单的placeHolder - 问题是placeHolder在某些脚本标记内,因此Sharepoint设计器无法识别。

页面正常工作,所以直到现在它还没有打扰我,因为你不能触及设计视图的任何部分,而不解决问题。

我的代码在主模板中看起来像这样:

<script type="text/javascript>
  $(document).ready(function(){ 
    <asp:ContentPlaceHolder id="PlaceHolderjQuery" runat="server" />
  });
</script>

有没有办法让这个工作正常,以便占位符实际上被Sharepoint Designer识别?

感谢您的帮助!

1 个答案:

答案 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>