在从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" }
,我得到一个模型等于空。
如果我去掉引号 { "SomeValue": 6970 }
我收到了我需要的东西,模型不是null。
这个项目很大,我不能把所有的js代码都改成ints,而且要把所有期望int的模型都改成ints也是个问题。
我怎样才能让它轻松工作?
试着把你的模型从int改成字符串,并检查它是否有效。