在ASP.NET Core 3.0中,表单的ModelState始终无效可能是因为缺少以下代码:
[HttpPost]
[ValidateAntiForgeryToken]
public IActionResult MyAction(MyModel model)
{
// 处理表单提交
}
@using (Html.BeginForm("MyAction", "MyController", FormMethod.Post, new { @class = "form-horizontal", role = "form" }))
{
@Html.AntiForgeryToken()
// 表单字段
// ...
}
public void ConfigureServices(IServiceCollection services)
{
// ...
services.AddAntiforgery(options =>
{
options.HeaderName = "X-CSRF-TOKEN";
});
// ...
}
这些步骤应该可以解决ASP.NET Core 3.0中表单的ModelState始终无效的问题。如果问题仍然存在,请检查其他可能的错误,例如模型绑定错误或验证规则错误。
上一篇:ASP.NET Core 3.0: 在“ConfigureServices”中禁用ASP0000 不要调用“IServiceCollection.BuildServiceProvider”的提示。