我一直在尝试遵循 Knockout.js 的教程,以便在我的视图中呈现表格。我的控制器正在检索作为 IEnumerable 类型的记录列表并发送到视图。我正在尝试让 Knockout 映射工作以在 HTML 表中显示我的记录。
我的模型看起来像:
public class ImportItem
{
public string LName { get; set; }
public string FName { get; set; }
public string HPhone { get; set; }
public string EMailAddress { get; set; }
public string OtherPhone { get; set; }
}
我似乎无法将 IEnumerable 传递给视图,甚至无法获得一个仅显示 LName 和 FName 的简单表。有没有人有任何我可以查看的使用敲除映射的示例代码?
下面解决了
在我的视图顶部,我添加了:
@model IEnumerable<MyProject.Models.ImportItem>
@{
var jsonData = @Html.Raw(Newtonsoft.Json.JsonConvert.SerializeObject(Model));
}
我的JavaScript:
$(function () {
var viewModelJSON = ko.mapping.fromJSON('@Html.Raw(jsonData)');
ko.applyBindings(viewModelJSON);
});
我的 html 绑定,$data最终成为引用未命名数组的关键:
<table>
<thead><tr>
<th>Last Name</th>
</tr></thead>
<tbody data-bind="foreach: $data">
<tr>
<td data-bind="text: LName"></td>
</tr>
</tbody>
</table>