在ASP.Net Core 3.1中,控制器方法可能会从HttpPost调用中接收到空参数的问题通常是由于模型绑定失败引起的。下面是一些可能解决该问题的方法:
[HttpPost]
public IActionResult MyMethod([FromBody] MyDataModel data)
{
// 使用data进行操作
return Ok();
}
确保你的请求正文中包含正确的数据。你可以使用工具(例如Postman)来发送请求并检查请求正文是否正确。
如果你的请求正文中的数据与控制器方法参数不匹配,你可以尝试使用[Bind]特性来显式指定要绑定的属性。
[HttpPost]
public IActionResult MyMethod([Bind("Property1,Property2")] MyDataModel data)
{
// 使用data进行操作
return Ok();
}
[HttpPost]
[ValidateAntiForgeryToken]
[ValidateModel(false)]
public IActionResult MyMethod(MyDataModel data)
{
// 使用data进行操作
return Ok();
}
请注意,禁用模型验证可能会导致潜在的安全风险,请谨慎使用。
希望这些解决方法能帮助你解决控制器方法始终从HttpPost调用中接收到空参数的问题。
上一篇:ASP.NET Core 3.1,i18n - 用户内容的本地化
下一篇:ASP.NET Core 3.1:使用UseWindowsService在使用“生成单个文件”发布应用时未按预期设置内容根目录