C# ASP.NET核心模型绑定和整数
在我的C# ASP.NET核心模型绑定和整数,c#,asp.net,.net,asp.net-core,C#,Asp.net,.net,Asp.net Core,在我的控制器中有此功能 [HttpGet] public string Get([FromQuery] QueryObject obj) { return "value"; } public class QueryObject { public int Number { get; set; } } 当我用这个URL调用Get方法时 ?Number=HELLO 我最终得到了一个编号为0的QueryObject实例 为什么会发生这种情况?该查询显然是一个错误的请求,因为Numbe
控制器中有此功能
[HttpGet]
public string Get([FromQuery] QueryObject obj)
{
return "value";
}
public class QueryObject
{
public int Number { get; set; }
}
当我用这个URL调用Get方法时
?Number=HELLO
我最终得到了一个编号为0的QueryObject
实例
为什么会发生这种情况?该查询显然是一个错误的请求,因为Number
是一个整数,并且查询有一个字符串
模型绑定将尝试解析请求并绑定到对象的属性。如果它无效,那么您将在ModelState对象中发现一个错误
e、 g
更多信息:太酷了!现在我还有一个问题。如何为每种方法实现自动化?我是否可以将检查集成到“管道”中,以便在ModelState无效时引发BadRequestException?非常感谢。您可以使用ActionFilters处理每个请求上的ModelState错误。大概是这样的:
if (!ModelState.IsValid)
{
// The ModelState is a Dictionary
// holding details of the model binding errors
}