Java脚本(使用Can`t get json object to with knockout answer {1}方法获取数据):
<script type="text/javascript">
$.getJSON("/api/TelemarketingApi", function (result) {
function viewModel() {
return ko.mapping.fromJS(result);
};
ko.applyBindings(new viewModel());
})
.error(function () { alert("error"); });
</script>
JSON对象:
[
{
"TelemCalls": [ {"ID": 1, "duratio": "11"}],
"ID": 1,
"FirstName": "Jonas",
"LastName": "Jonaitis",
"Phone": "860123123",
"Municipality": null
}
]
如何在 razor 页面中访问和显示映射的JSON数据?
答案 0 :(得分:0)
你是否有从json对象映射的viewModel并绑定到整个razor视图。 要在剃刀视图中显示值,只需创建绑定到viewModel的html元素,如下所示:
<input type="text" data-bind="value: ID" />
<input type="text" data-bind="value: FirstName" />
<input type="text" data-bind="value: LastName" />
<input type="text" data-bind="value: Phone" />
<input type="text" data-bind="value: Municipality" />
答案 1 :(得分:0)
请记住,您的映射数据只能在JavaScript中访问,而不是在服务器端访问,而Razor正在构建页面。因此,要在页面上显示viewModel的属性值,请尝试以下操作:
<input data-bind="value: FirstName" />
<ul data-bind="foreach: TelemCalls">
<li data-bind="text: duratio"></li>
</ul>
如果您的顶级viewmodel是一个数组,请使用以下语法:
<div data-bind="$data">
<input data-bind="value: FirstName" />
<ul data-bind="foreach: TelemCalls">
<li data-bind="text: duratio"></li>
</ul>
</div>