MVC剃须刀中未终止的模板文字

时间:2018-09-14 08:56:19

标签: javascript razor datatable

我有以下代码可动态填充数据表:

<script>

        $(document).ready(function () {
            var table = $('#orders').DataTable();

            for (let item of @Model.ItemList) {

                table.row.add({
                    "id": item.id,
                    "product.name": item.product.name,
                    "quantity": item.quantity,
                    "linetaxes": item.linetaxes,
                    "discount": item.discount,
                    "lineitemtotal": item.lineitemtotal
                }).draw();
            }
        });

    </script>

运行它时,出现以下错误消息:

  

未捕获的SyntaxError:未终止的模板文字

     

为(让   System.Collections.Generic.List`1 [Myproject.Models.LineItem])

有人可以告诉我如何解决此问题吗?我还可以使用javascript访问模型吗?

1 个答案:

答案 0 :(得分:0)

对于类型为Personality Chat的viewmodel属性集合对象,应使用@Html.RawJson.Encode

List<LineItem>

通过使用for (let item of @Html.Raw(Json.Encode(Model.ItemList)) { table.row.add({ "id": item.id, "product.name": item.product.name, "quantity": item.quantity, "linetaxes": item.linetaxes, "discount": item.discount, "lineitemtotal": item.lineitemtotal }).draw(); } 而不使用Model.ItemList,它将隐式调用页面渲染上的Json.Encode,该对象将返回对象的标准名称,即ToString()