0

jQueryでいくつかの追加のJavaScript用の単純なplaceHolderを作成しました-問題は、placeHolderがいくつかのスクリプトタグ内にあるため、SharepointDesignerによって認識されないことです。

ページは正しく機能するので、問題を修正せずにデザインビューのどの部分にも触れることができないため、これまで気になりませんでした。

私のコードは、マスターテンプレートでは次のようになります。

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

プレースホルダーがSharepointDesignerによって実際に認識されるように、これを正しく機能させる方法はありますか?

助けてくれてありがとう!

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 に答える