Я использую jTemplate & jQuery для запроса веб-метода .net, а затем отображаю результаты на веб-странице.
Ниже показан HTML-код, где все это происходит, DIV с классом Template - мой шаблон. Затем фактические результаты помещаются в DIV с классом Results .
<div id="SharepointDocumentSearch" style="display:none;">
<p>
Document Search Results
</p>
<div class="Results">
<i>Searching...</i>
</div>
<div class="Template" style="display:none;">
{#foreach $T as document}
<div>
<a href="{$T.document.Url}" >{$T.document.Title}</a>
</div>
{#/for}
</div>
</div>
Я использую jQuery для вызова AJAX, получаю данные и запускаю следующий код:
$("#SharepointDocumentSearch>.Results").setTemplate($("#SharepointDocumentSearch>.Template").html());
$("#SharepointDocumentSearch>.Results").processTemplate(data.d);
Хотя вызов AJAX успешен и результаты отображаются в шаблоне, URL-адрес не разрешается механизмом шаблонов. Таким образом, HTML-рендеринг выглядит следующим образом:
<div class="Results">
<div>
<a href="%7B$T.document.Url%7D">Example 1.doc</a>
</div>
<div>
<a href="%7B$T.document.Url%7D">Mercury documents</a>
</div>
</div>
Странно то, что если я изменю шаблон так, чтобы вместо него указывалось значение Url, например, другого атрибута, например «Собака», он появится в HTML. Это происходит, когда я использую его с атрибутом Url.