2009-11-06 2 views
0

Я создал простую placeHolder для некоторого дополнительного javascript в jQuery - проблема в том, что placeHolder находится внутри некоторых тегов скриптов и поэтому не распознается дизайнером Sharepoint.Sharepoint 2007 placeholder issue

Эта страница работает правильно, поэтому до сих пор она меня не беспокоила, так как вы не можете коснуться какой-либо части проектного вида, не исправляя проблему.

Мой код выглядит примерно так в основном шаблоне:

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

Есть ли способ, чтобы сделать эту работу правильно, так что заполнитель фактически признан Sharepoint Designer?

Спасибо за помощь!

+0

Это мне не понятно, почему <жерех: ContentPlaceHolder id = "PlaceHolderjQuery" runat = "server" /> должен находиться внутри выражения JQuery или тега javascript –

ответ

2

Я понял, что вы пытаетесь вызвать функцию JavaScript, которая определена внутри PlaceHolder. Но ваш код не будет работать, поскольку PlaceHolder - это серверный элемент управления и нажатие его как дочернего элемента какого-либо другого тега не будет работать. Тэг Script - это тег обработки клиента. Итак, я бы предложил изменить логику, как показано ниже.

На главной странице у меня будет JavaScript для вызова функции по умолчанию.

<script type="text/javascript> 
    $(document).ready(function(){ 
     myOnLoadFunction(); 
    }); 
</script> 

И я буду определять содержание Place Holder с фиктивной функцией

<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> 
+0

Да, это было так, как я это делал раньше - мне понравилось другое, потому что это позволяло использовать aner смотреть в пути. Шаблон все еще работает, только дизайнер sharepoint отказывается видеть действительный тег PlaceHolderjQuery в середине тега скрипта. Спасибо, что нашли время предложить альтернативное решение. – TeckniX

+0

@TeckniX Я вижу, что вы говорите – Kusek

+0

Я отмечу это как ответ. На всякий случай люди проверяют код, вам не хватает тегов вокруг функции myOnLoadFunction() Еще раз спасибо! – TeckniX