在Asp.Net Core中,模型绑定器会尝试将HTTP请求中的数据自动绑定到控制器的方法参数或DTO(数据传输对象)中。但是,有时候模型绑定可能会无法绑定整数属性。这可能是因为在请求中上传的整数数据格式不正确,例如“01”或“1.0”,因此模型绑定失败。
解决这个问题的方法很简单,只需要在控制器的方法参数或DTO中使用“[FromBody]”特性即可。这个特性告诉模型绑定器从HTTP请求的正文中读取数据,而不是从查询字符串或表单数据中读取数据。这样,模型绑定器就可以正确地绑定整数属性。
以下是一个使用“[FromBody]”特性的示例控制器方法:
[HttpPost]
public IActionResult AddPerson([FromBody]Person person)
{
// Do something with the person data
// ...
return Ok();
}
在这个示例中,“Person”类包含一个整数属性“Age”,模型绑定器在没有“[FromBody]”特性的情况下无法正确地绑定它。但是,使用“[FromBody]”特性可以解决这个问题。