jTemplate と jQuery を使用して .net Web メソッドをクエリし、結果を Web ページに表示しています。
以下に示すのは、すべてが発生する HTML です。テンプレート クラスの DIVが私のテンプレートです。次に、実際の結果がクラスResultsの DIV に入れられます。
<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>
奇妙なことに、テンプレートを変更して、代わりに「Dog」などの別の属性の Url 値を配置すると、HTML に表示されます。Url 属性で使用すると、これが発生します。