私はノックアウトが初めてで、単純なマッピングがまったく機能しないようです。私は MVC4 C# を使用しています。
私のビューは次のようになります。
@{
Layout = "~/Views/Shared/_Layout.cshtml";
ViewBag.Title = "Index";
}
<h2>Simple Mapping Example</h2>
The time on the server is: <span data-bind="text: ServerTime"></span>
and <span data-bind="text: NumberOfUsersConnected"></span> user(s) are connected.
@section Scripts
{
<script type="text/javascript">
function ViewModel() {
var self = this;
self.ServerTime = ko.observable();
self.NumberOfUsersConnected = ko.observable();
}
var vm = new ViewModel();
ko.applyBindings(vm);
$.getJSON('/Mapping/GetServerInfo', function(data) {
ko.mapping.fromJSON(data, {}, vm);
});
</script>
}
コントローラー呼び出し「Mapping/GetServerInfo」から返される JSON の例は次のとおりです。
{"ServerTime":"2013-03-13T14:24:10.5675104-07:00","NumberOfUsersConnected":5}
テキストと値を試したデータバインドでは、どちらもデータをバインドして表示しません。
本当に明らかな何かが欠けていますか?
コメントの質問によると、はい、これは私のレイアウトにあるものです。
<script type="text/javascript" src="~/Scripts/knockout-2.2.1.js"></script>
<script type="text/javascript" src="~/Scripts/knockout.mapping-latest.js"></script>
ありがとう