0

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

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

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

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

有没有办法使它正常工作,以便 Sharepoint Designer 实际识别占位符?

谢谢您的帮助!

4

1 回答 1

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>
于 2009-11-06T16:47:46.083 回答