我正在使用 jTemplate 和 jQuery 来查询 .net Web 方法,然后在网页中显示结果。
下面显示的是所有发生的 HTML,带有类Template的 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>
奇怪的是,如果我更改模板以便将 Url 值改为不同的属性,例如“Dog”,它将出现在 HTML 中。只是当我将它与 Url 属性一起使用时才会发生这种情况。