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

ASP.NET Core MVC:AJAX请求数据无法被Controller接收问题求助

ASP.NET Core MVC API接收模型字段全null的解决方法

以下是几种常见原因及对应解决方案:

  • 缺少[FromBody]特性
    API Action的复杂类型参数必须添加[FromBody]特性,告知框架从请求体中解析数据:

    [HttpPut]
    public IActionResult UpdateGroup([FromBody] GroupViewModel model)
    {
        // 业务逻辑实现
    }
    
  • 请求Content-Type错误
    确保客户端请求的Content-Type设置为application/json,否则框架无法正确解析JSON格式的请求体。

  • ViewModel属性无公共setter
    检查GroupViewModel的属性是否包含公共setter,框架需要通过setter为属性赋值:

    // 错误示例(无setter)
    public class GroupViewModel
    {
        public int Id { get; }
        public string GroupName { get; }
    }
    
    // 正确示例
    public class GroupViewModel
    {
        public int Id { get; set; }
        public string GroupName { get; set; }
    }
    
  • 属性名称/结构不匹配
    确认客户端发送的JSON字段名与ViewModel的属性名拼写一致(默认大小写不敏感),同时检查嵌套结构是否对应。比如ViewModel包含嵌套对象时,客户端需发送对应层级的JSON结构。

  • JSON序列化配置异常
    检查项目中的JSON序列化配置,确保未禁用属性绑定或忽略目标字段:

    builder.Services.AddControllers()
        .AddJsonOptions(options =>
        {
            // 启用大小写不敏感匹配
            options.JsonSerializerOptions.PropertyNameCaseInsensitive = true;
            // 若ViewModel使用字段而非属性,需开启字段包含
            // options.JsonSerializerOptions.IncludeFields = true;
        });
    

内容的提问来源于stack exchange,提问作者Josué Ramírez

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 18:18:14