jQuery jTable在使用嵌套JSON对象时会出现添加和编辑问题
我的MVC应用程序中有一个jQuery jTable,它绑定到一个对象列表,其中一个属性是嵌套对象。我能够正确显示所有值,但当尝试执行添加或更新时,嵌套对象以null形式传递到服务器jQuery jTable在使用嵌套JSON对象时会出现添加和编辑问题,jquery,object,null,nested,jquery-jtable,Jquery,Object,Null,Nested,Jquery Jtable,我的MVC应用程序中有一个jQuery jTable,它绑定到一个对象列表,其中一个属性是嵌套对象。我能够正确显示所有值,但当尝试执行添加或更新时,嵌套对象以null形式传递到服务器 例如,考虑下面的示例代码: 基本对象: 嵌套地址对象: 部分jTable定义: 控制器更新操作: } 在jTable中,AddressLine1将正常显示。但是,当运行添加或更新控制器操作时,User.Address对象将作为null传递,因此为地址输入的任何值都不可用于添加或更新。我错过了什么 您已经使用disp
例如,考虑下面的示例代码:
基本对象: 嵌套地址对象: 部分jTable定义: 控制器更新操作: } 在jTable中,AddressLine1将正常显示。但是,当运行添加或更新控制器操作时,User.Address对象将作为null传递,因此为地址输入的任何值都不可用于添加或更新。我错过了什么 您已经使用display属性自己显示了AddressLine1变量。创建新记录时,AddressLine1将是表单正文中的另一个类似于ID属性的参数。您可以从chrome中的开发者工具检查请求主体 您可以尝试使用并自行处理post请求为属性分配函数 例如: createAction:functionpostData,jtParams{ 返回$.Deferredfunction$dfd{ $.ajax{ url:“/create/api/url/”, 键入:“POST”, 数据类型:“json”, data:prepareJSONpostData,//用于将输入转换为JSON格式的函数 成功:functiondata{ $dfd.resolve{ 结果:好,, 记录:数据说明, TotalRecordCount:0 }; }, 错误:函数{ console.logERROR。。。。; $dfd.reject; } }; }; }public class User
{
public int ID { get; set; }
public Address Address { get; set; }
}
public class Address
{
public string AddressLine1 { get; set; }
public string AddressLine2 { get; set; }
public string City { get; set; }
public string State { get; set; }
public string Zip { get; set; }
}
$('#UserList').jtable({
title: "Users",
actions: {
listAction: '/Admin/LoadUsers',
createAction: '/Admin/CreateUser',
updateAction: '/Admin/UpdateUser',
deleteAction: '/Admin/DeleteUser'
},
fields: {
ID: {
key: true,
list: false
},
AddressLine1: {
title: 'Group',
display: function(data){
return data.record.Address.AddressLine1;
},
}
}
});
public JsonResult UpdateUser(User user)
{
try
{
// Code to update user here...
return Json(new { Result = "OK" });
}
catch (Exception ex)
{
return Json(new { Result = "ERROR", Message = ex.Message });
}