Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 敲除映射尝试不使用JSON响应进行映射_Asp.net Mvc_Knockout.js_Knockout Mapping Plugin - Fatal编程技术网

Asp.net mvc 敲除映射尝试不使用JSON响应进行映射

Asp.net mvc 敲除映射尝试不使用JSON响应进行映射,asp.net-mvc,knockout.js,knockout-mapping-plugin,Asp.net Mvc,Knockout.js,Knockout Mapping Plugin,我是个新手,似乎根本无法得到一个简单的映射来工作。我在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&g

我是个新手,似乎根本无法得到一个简单的映射来工作。我在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>
}
对于数据绑定,我尝试了文本和值,它们都不会导致绑定和显示任何数据

我是不是错过了一些很明显的东西

根据评论中的问题是的,这是我的布局中的内容

<script type="text/javascript" src="~/Scripts/knockout-2.2.1.js"></script>
<script type="text/javascript" src="~/Scripts/knockout.mapping-latest.js"></script>


$.getJSON

成功回调传递返回的数据,该数据通常是 由JSON结构定义并解析的JavaScript对象或数组 使用$.parseJSON()方法。

因此,
data
变量包含一个已解析的对象,因此需要使用
ko.mapping.fromJS
方法:

$.getJSON('/Mapping/GetServerInfo', function(data) {
   ko.mapping.fromJS(data, {}, vm);
});

您是否在布局中引用了KO和KO.mapping?@RenderSection(“脚本”)是否在@RenderBody和脚本包含之后?更新了原始问题。谢谢你,我知道了。谢谢你的回复。
$.getJSON('/Mapping/GetServerInfo', function(data) {
   ko.mapping.fromJS(data, {}, vm);
});