You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET Core MVC复杂对象无法传递到控制器问题修复

修复复杂对象模型绑定问题的步骤

1. 对齐前端数据命名格式

前端封装的数据结构必须严格匹配后端实体类的嵌套属性路径,示例如下:

const employeeData = {
  Position: 1,
  Salary: 8000,
  Biodata: {
    Fullname: "张三",
    Gender: 1,
    Email: "zhangsan@example.com"
  },
  EmergencyContactPerson: {
    Fullname: "李四",
    Connection: 2,
    NumberPhone: "13800138000"
  }
};

2. 修正AJAX请求配置

必须指定正确的内容类型,并将数据序列化为JSON字符串:

$.ajax({
  url: "/Home/Create",
  type: "POST",
  contentType: "application/json; charset=utf-8",
  data: JSON.stringify(employeeData),
  success: function(response) {
    console.log("提交成功");
  },
  error: function(xhr) {
    console.error("提交失败", xhr);
  }
});

3. 配置控制器方法参数

在控制器的Create方法参数上添加[FromBody]特性,告知框架从请求体读取JSON数据:

[HttpPost]
public IActionResult Create([FromBody] Employee employee)
{
    if (ModelState.IsValid)
    {
        // 业务处理逻辑
        return Ok();
    }
    return BadRequest(ModelState);
}

4. 排查绑定错误(可选)

若绑定仍失败,可通过模型状态获取具体错误信息:

if (!ModelState.IsValid)
{
    var errors = ModelState.Values.SelectMany(v => v.Errors.Select(e => e.ErrorMessage));
    return BadRequest(new { Message = "数据绑定失败", Errors = errors });
}

内容的提问来源于stack exchange,提问作者Andi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 07:12:10