这个问题可能是因为反射器无法将查询字符串参数正确地映射到类型的属性上。要解决这个问题,可以尝试使用以下解决方法之一:
明确指定查询字符串参数的名称,确保与属性名称匹配,以避免反射映射错误。例如:
[HttpGet]
public IActionResult Get([FromQuery(Name="id")] int identifier)
{
// ...
}
对于复杂的数据类型,如对象或列表,可以尝试使用自定义模型绑定器。例如:
[HttpGet]
public IActionResult Get([FromQuery] MyModel model)
{
// ...
}
public class MyModelBinder : IModelBinder
{
public Task BindModelAsync(ModelBindingContext bindingContext)
{
// ...
}
}
services.AddMvc(options =>
{
options.ModelBinderProviders.Insert(0, new MyModelBinderProvider());
});
希望这些解决方法能够帮助解决在ASP.NET Core 6中使用[FromQuery]绑定到对象时返回null值的问题。