首页 > 解决方案 > 从 ASP.NET MVC 迁移到 ASP.NET Core MVC - 动作模型绑定导致 null

问题描述

在从 ASP.NET MVC 迁移到 ASP.NET Core MVC 时,我遇到了无法克服的绑定行为问题。

我有这个控制器(用于 Razor,而不是 API):

public class SomeController : Controller
{
    [HttpPost]
    public IActionResult SomeAction([FromBody] SomeModel model)
    {
        return Ok(model?.SomeValue);
    }
}

public class SomeModel
{
    public int SomeValue { get; set; }
}

/some/someAction如果我使用 的主体发出请求{ "SomeValue": "6970" },我会得到一个等于 null 的模型。

如果我删除引号{ "SomeValue": 6970 },我会收到我需要的东西,模型不为空。

该项目很大,我无法将所有 js 代码更改为 int,更改所有期望 int 的模型也可能是一个问题。

我怎样才能让它轻松工作?

标签: c#asp.netasp.net-mvcasp.net-core

解决方案


尝试将您的模型从 int 更改为 string 并检查它是否有效


推荐阅读