【问题标题】:Migration from ASP.NET MVC to ASP.NET Core MVC - action model binding resulting null从 ASP.NET MVC 迁移到 ASP.NET Core MVC - 动作模型绑定导致 null
【发布时间】:2020-05-29 23:37:11
【问题描述】:

在从 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; }
}

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

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

项目很大,我不能把所有的 js 代码都改成 int,而且改变所有期望 int 的模型也可能是个问题。

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

【问题讨论】:

  • 感谢您的回复!怎么样?
  • 按照我上面提供的链接中的官方说明进行操作,或查看描述相同方法的my answer
  • 是的,谢谢,它有效!

标签: c# asp.net asp.net-mvc asp.net-core


【解决方案1】:

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

【讨论】:

  • 感谢您的建议!正如我所说,我不想改变 1000 个模型,我需要 int。
猜你喜欢
  • 2020-09-26
  • 1970-01-01
  • 2015-05-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多