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

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 に答える