我有以下代码可动态填充数据表:
<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访问模型吗?
答案 0 :(得分:0)
对于类型为Personality Chat
的viewmodel属性集合对象,应使用@Html.Raw
和Json.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()
。