1

これは私のテンプレートです。

<script id="DepartmentTemplate" type="text/x-jquery-tmpl">
        {{ for BusinessUnitName }}
            <li>{{:#data}}</li>
        {{/for }}
    </script>

ここにデータを送信します。

RenderDepartments = function (data) {
            $('#departmentList').empty();
            $('#departmentList').html($('#DepartmentTemplate').render($.parseJSON(data)));
        };

そして、これは私がデータを置く場所です。

<ul id="departmentList"><%: Html.DisplayFor(model => model.AdditionalDepartmentList) %></ul>

これは、関数データパラメータに受信されたデータです。

{\"BusinessUnitName\":[\"Design and Build (Technical)\",\"Architectual Design\",\"ICT\",\"Mechanical & Electrical \",\"Safety Management\"]}

jquery $ .parseJsonを使用する必要があるかどうかはわかりませんが、どちらの方法でもデータは正しくレンダリングされません。$ .parseJsonを使用すると、次のようにレンダリングされます。

{{ for BusinessUnitName }} 
•[object Object]
 {{/for }} 

それがないと、次のようにレンダリングされます

{{ for BusinessUnitName }} 
•{"BusinessUnitName":["Architectual Design","ICT","Mechanical & Electrical ","Safety Management","Marketing"]}
 {{/for }} 

そのため、画面には、リストではなく、テンプレート定義の一部が表示されています。これを修正するにはどうすればよいですか?

4

1 に答える 1

2

問題は空白にあり、空白を削除した後、コードは期待どおりに機能します。

<script id="DepartmentTemplate" type="text/x-jquery-tmpl">
    {{for BusinessUnitName}}
         <li>{{:#data}}</li>
    {{/for}}
</script>
于 2012-09-20T15:29:30.250 に答える