0

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
    }
]

如何在剃须刀页面中访问和显示映射的 JSON 数据?

4

2 回答 2

0

请记住,您的映射数据只能在 JavaScript 中访问,而不是在 Razor 构建页面时在服务器端访问。因此,要在页面上显示 viewModel 的属性值,请尝试以下操作:

<input data-bind="value: FirstName" />
<ul data-bind="foreach: TelemCalls">
    <li data-bind="text: duratio"></li>
</ul>

如果您的顶级视图模型是一个数组,请使用以下语法:

<div data-bind="$data">
    <input data-bind="value: FirstName" />
    <ul data-bind="foreach: TelemCalls">
        <li data-bind="text: duratio"></li>
    </ul>
</div>
于 2013-02-01T08:53:22.360 回答
0

您是否将 viewModel 从 json 对象映射并绑定到整个剃须刀视图。要在 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" />

小提琴中的示例:http: //jsfiddle.net/vfportero/hcVmZ/

于 2013-02-01T08:49:14.077 回答