Html.ValidationSummary没有填充自定义错误ASP.NET MVC Razor Page

问题描述 投票:0回答:1

我是MVC的新手,我需要创建一个自定义错误,如果用户没有选择类别,则会触发该错误。但是,在创建没有类别的产品时,不会填充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});
}
c# asp.net razor modelstate validationsummary
1个回答
1
投票

当您使用ModelState错误时,您应该使用返回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 });
        }
    }
© www.soinside.com 2019 - 2024. All rights reserved.