1

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 属性で使用すると、これが発生します。

4

1 に答える 1

0

バグ

コードは IETester IE6 インスタンスでは正しく実行されませんが、実際の IE6 では正しく動作します。

于 2010-08-23T10:28:55.497 に答える