Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/274.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ASP.NET核心模型绑定和整数_C#_Asp.net_.net_Asp.net Core - Fatal编程技术网

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
        }