Asp.net mvc 敲除映射不适用于JSON对象

Asp.net mvc 敲除映射不适用于JSON对象,asp.net-mvc,knockout-mapping-plugin,Asp.net Mvc,Knockout Mapping Plugin,您应该使用ko mapping插件已经为您创建的observableArray,并映射到实际的对象数组中,请参见: 请注意,我是如何将您的EmployeeList函数更改为返回map()而不是map-map是一个函数,您希望返回由该函数包装的实际值-这允许您更清晰地指定obj-无需在另一个ObservalArray中包装map 希望这有助于……这在什么方面“不起作用”?您确实需要在这里提供更多的上下文……因此,当我尝试在代码中使用emp时,我没有看到出现任何employee名称,而我看到了可用的

您应该使用ko mapping插件已经为您创建的
observableArray
,并映射到实际的对象数组中,请参见:

请注意,我是如何将您的
EmployeeList
函数更改为返回
map()
而不是
map
-map是一个函数,您希望返回由该函数包装的实际值-这允许您更清晰地指定obj-无需在另一个
ObservalArray
中包装map


希望这有助于……

这在什么方面“不起作用”?您确实需要在这里提供更多的上下文……因此,当我尝试在代码中使用emp时,我没有看到出现任何employee名称,而我看到了可用的json数据
  • 名称
  • 以及HTML助手呈现的JSON是什么?你确定它有效吗?是的,它的{“名称”:“测试”,“地址”:“测试”}谢谢你的解决方案有效。所以我试着用更好的方式来优化,但后来我遇到了另一组错误。你介意帮帮我吗?这就是我要搞的-
    function Employee() {
     return @Html.Raw(Newtonsoft.Json.JsonConvert.SerializeObject(Model)) 
    };
    
    function EmployeeList(Employee) {
     var map = ko.mapping.fromJS(Employee); return map; 
    }
    
    $(document).ready(function () {
     var obj = { emp: ko.observable(new EmployeeList(new Employee)) }; 
    ko.applyBindings(obj); 
    });
    
    function Employee() {
        return  [{Name:"test", Address:"test"}] ;
    };
    
    function EmployeeList(Employee) {
     var map = ko.mapping.fromJS(Employee); 
        return map(); 
    }
    
    $(document).ready(function () {
     var obj = { emp: EmployeeList(Employee) }; 
    ko.applyBindings(obj);
    });