Html.ValidationSummary 未填充自定义错误 ASP.NET MVC Razor 页面

Html.ValidationSummary Not Populating with Custom Errors ASP.NET MVC Razor Page

我是 MVC 的新手,我需要创建一个自定义错误,如果用户没有 select 类别,该错误就会触发。但是,当创建没有类别的产品时,Html.ValidationSummary 不会填充。相反,视图会返回并显示在浏览器上,而不会填充验证摘要。请看下面,相关代码我已经复制过来了
CSHTML 代码

@Html.ValidationSummary(false, "", new { @class = "text-danger" })

控制器代码

if (!model.HasCategories)
{
     ModelState.AddModelError(string.Empty, "A category is required.");
}

if(!ModelState.IsValid()) {
    return RedirectToAction("addEditProduct", new { id = model.P.ID});
}

当您使用 ModelState 错误时,您应该使用 return View() 而不是 Redirect

    public ActionResult addEditProduct()
    {
        return View();
    }

    [HttpPost]
    public ActionResult addEditProduct(EditProductModel model)
    {
        if (!model.HasCategories)
        {
            ModelState.AddModelError(string.Empty, "A category is required.");
            return View(new { id = model.P.ID });
        }

        if (!ModelState.IsValid())
        {
            return View(new { id = model.P.ID });
        }
    }