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 回答