【发布时间】:2013-03-13 21:31:10
【问题描述】:
我是淘汰赛的新手,似乎根本无法获得简单的映射。我在 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}
对于我尝试过 text 和 value 的数据绑定,都没有导致任何数据被绑定和显示。
我是否遗漏了一些非常明显的东西?
根据 cmets 中的问题,是的,这就是我的布局中的内容。
<script type="text/javascript" src="~/Scripts/knockout-2.2.1.js"></script>
<script type="text/javascript" src="~/Scripts/knockout.mapping-latest.js"></script>
谢谢
【问题讨论】:
-
您是否在布局中引用了 KO 和 KO.mapping? @RenderSection("Scripts") 是否出现在 @RenderBody 和脚本之后?
-
更新了原始问题。谢谢
标签: asp.net-mvc knockout.js knockout-mapping-plugin