Синтаксическая ошибка JavaScript с использованием Umbraco - PullRequest
1 голос
/ 19 декабря 2011

Я использую Umbraco, пытаясь следовать базовому учебнику, как показано на сайте: http://umbraco.com/help-and-support/video-tutorials/developing-with-umbraco/base-and-ajax-development/introduction-to-base/TVPlayer#

Следующий код дает мне синтаксическую ошибку в FireBug:

jQuery("#get").click(function() { 
        var pageId = <umbraco:Item field="pageID" runat="server" />;
          jQuery.get("/base/Sample/GetPageData/" + pageId + ".aspx", function(data){
            alert("Data loaded: " + jQuery(data).test());
          });
    });

Я не знаю, является ли код umbraco причиной ошибки, но он успешно возвращает pageId, поэтому ошибка выглядит так: Синтаксическая ошибка: var pageId = 1007

Есть идеи, где я ошибаюсь?

РЕДАКТИРОВАТЬ: Надеюсь, что это помогает уточнить вещи, если нет, дайте мне знать!

Кнопка Я настраиваю в шаблоне Umbraco страницы:

<asp:Button id="get" Text="getxml" runat="server" />

Хотя я только что понял, чтоHTML-код кнопки выглядит немного беспорядочно:

<input type="submit" name="ctl00$ctl00$ContentPlaceHolderDefault$get" value="getxml" onclick="javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(&quot;ctl00$ctl00$ContentPlaceHolderDefault$get&quot;, &quot;&quot;, true, &quot;&quot;, &quot;&quot;, false, false))" id="ContentPlaceHolderDefault_get" />

Почему он это делает ??

Это код jquery, сгенерированный на странице:

 jQuery("#get").click(function()
        var pageId = '1082';
          jQuery.get("/base/Sample/GetPageData/" + pageId + ".aspx", function(data){
            alert("Data loaded: " + jQuery(data).test());
          });
    });

Я включил одинарные кавычки в соответствии с предложением, но с или без я получаю одинаковую синтаксическую ошибку в FireBug, и мой скрипт не работает

Ответы [ 2 ]

2 голосов
/ 19 декабря 2011

Я думаю, pageId - это строка, которая просматривает ваш код, поэтому она должна быть заключена в кавычки.Попробуйте это.

jQuery("#get").click(function()
        var pageId = '<umbraco:Item field="pageID" runat="server" />';
          jQuery.get("/base/Sample/GetPageData/" + pageId + ".aspx", function(data){
            alert("Data loaded: " + jQuery(data).test());
          });
    });
0 голосов
/ 19 декабря 2011
По какой-то причине кнопка

с идентификатором 'get' генерировалась как ContentPlaceHolderDefault_Get (Umbraco?). Таким образом, я изменил имя в методе get на сгенерированное имя, оставив кнопку Id как get.

Полагаю, это было результатом того, что я написал элемент управления кнопкой в ​​шаблоне umbraco, а не скопировал его из элемента управления .net

...