如何用强类型Razor视图页面填充数据表
本文关键字:填充 数据表 视图 何用 强类型 Razor | 更新日期: 2023-09-27 18:18:52
我在强类型Razor视图页面中有一个dataTable
。现在根据我的要求,我需要填充这与我的页面模型,但我不知道如何做到这一点。这是我的数据表代码…
$(document).ready(function () {
var dt;
var dataSet = [];
dt = $("#Setup").dataTable({
"data": dataSet,
"paging": false,
"responsive": true,
"stateSave": true,
"columns": [
{ "title": "<input type='checkbox' id='selectAll'>", "bSortable": false, "width": "5px", },
{ "title": "", "bSortable": false, "width": "5px" },
{ "title": "Code", "width": "50px" },
{ "title": "Name" }
]
});
});
我的页面是Razor View page .Please help me get it done. Thanks.
一般来说,你应该能够像这样从razor中内联你的数据:
@{
StringBuilder sb = new StringBuilder();
foreach(row in model.MyTable)
{
sb.AppendFormat("['{0}', '{1}', '{2}', '{3}'],",
row.Field1, row.Field2, row.Field3, row.Field4);
}
}
$(document).ready(function () {
var dt;
var dataSet = [@Html.Raw(sb.ToString(0, sb.Length - 1))];
dt = $("#Setup").dataTable({
"data": dataSet,
"paging": false,
"responsive": true,
"stateSave": true,
"columns": [
{ "title": "<input type='checkbox' id='selectAll'>", "bSortable": false, "width": "5px", },
{ "title": "", "bSortable": false, "width": "5px" },
{ "title": "Code", "width": "50px" },
{ "title": "Name" }
]
});
});
您应该使用sb.Length - 1
,以便从输出数组中删除最后一个逗号(,
)。使用Html.Raw()
可以防止Razor对字符串进行编码,这会破坏JavaScript语法。
这更容易:"data": @Html.Raw(Json.Encode(Model.MyList)) -对我来说,这是可行的。