使用KnockoutJS的POST模型不同于API模型

使用KnockoutJS的POST模型不同于API模型,api,asp.net-mvc-4,knockout-mvc,Api,Asp.net Mvc 4,Knockout Mvc,我对邮递上的模特有意见。使用Ajax调用发布模型时,“EmployeeDetails”的集合为空。我用Fiddler检查过,但JSON模型实际上很好。问题在于作为参数传递给控制器的模型 var EmployeeViewModel=函数{ //将自我作为“此”参照 var self=这个; //声明将与UI绑定的可观察对象 self.EmployeeId=ko.observable; self.FirstName=ko.observable; self.MiddleName=ko.observa

我对邮递上的模特有意见。使用Ajax调用发布模型时,“EmployeeDetails”的集合为空。我用Fiddler检查过,但JSON模型实际上很好。问题在于作为参数传递给控制器的模型

var EmployeeViewModel=函数{ //将自我作为“此”参照 var self=这个; //声明将与UI绑定的可观察对象 self.EmployeeId=ko.observable; self.FirstName=ko.observable; self.MiddleName=ko.observable; 自组织Tussenvoegsel=ko.可观察; self.LastName=ko.observable; self.FullName=ko.observable; self.EmployeeEmail=ko.observable; self.PersonalNumber=ko.observable; self.PhoneNumber=ko.observable; //存储在可观察对象中输入的数据的对象 变量EmployeeData={ EmployeeId:self.EmployeeId, 名字:self.FirstName, MiddleName:self.MiddleName, 塔森沃塞尔:赛尔夫,塔森沃塞尔, LastName:self.LastName, 全名:self.FullName, EmployeeEmail:self.EmployeeEmail, 雇员详情:{ PhoneNumber:self.PhoneNumber, PersonalNumber:self.PersonalNumber } }; //声明用于存储JSON响应的ObservableArray self.Employees=ko.observearray[]; GetEmployees;//调用使用ajax调用获取所有记录的函数 //函数读取所有员工 函数GetEmployees{ //Ajax调用获取所有员工记录 $.ajax{ 类型:GET, url:/api/EmployeeApi, contentType:application/json;字符集=utf-8, 数据类型:json, 成功:函数数据{ self.Employeesdata;//将响应置于可观察状态 }, 错误:函数错误{ alerterror.status++error.statusText; } }; //到此为止 } //用于显示要更新的记录的函数 self.getEmployeeDetails=职能员工{ self.employeeideemployee.EmployeeId, self.FirstName employee.FirstName, self.MiddleNameemployee.MiddleName, self.tussenvoegselfemployee.Tussenvoegsel, self.lastnamemployee.LastName, self.fullnamemployee.FullName, self.EmployeeEmailemployee.EmployeeEmail, self.PersonalNumberemployee.EmployeeDetails[0]。PersonalNumber, self.PhoneNumberemployee.employeedetails[0].电话号码 }; //用于执行插入后员工操作的函数 self.save=函数{ //Ajax调用以插入雇员 $.ajax{ 类型:POST,, url:/api/EmployeeApi, contentType:application/json, 数据类型:json, data:ko.mapping.toJSONEmployeeData,//将可观察数据转换为JSON 成功:功能{ 报警记录添加成功; 获取员工; }, 错误:函数{ 警报失败; } }; //到此为止 }; }; ko.applybindingsnewemployeeviewmodel; @利用资源 @模型动力学 @{ 标题=索引; } 员工指数 @Resource.FirstName @Resource.MiddleName @Resource.NamePrefix @Resource.LastName @资源。电子邮件 @string.Format{0}{1},Resource.Personal,Resource.Number.ToLower @string.Format{0}{1},Resource.Phone,Resource.Number.ToLower 保存新的 全名
发现了问题。由于我忘记了集合的“[]”,因此没有正确分析模型

变量EmployeeData={ EmployeeId:self.EmployeeId, 名字:self.FirstName, MiddleName:self.MiddleName, 塔森沃塞尔:赛尔夫,塔森沃塞尔, LastName:self.LastName, 全名:self.FullName, EmployeeEmail:self.EmployeeEmail, 雇员详情:[{ PhoneNumber:self.PhoneNumber, PersonalNumber:self.PersonalNumber }] };