c# - 验证摘要未显示 Controller 中生成的错误

标签 c# asp.net-mvc asp.net-mvc-3

当我在 Controller 中生成错误并返回 View 时,验证摘要没有显示。对于 View 本身产生的错误,一切正常。我们怎样才能让摘要显示出来?

这是简化的 Controller 方法:

[HttpPost]
public ActionResult EditProfil(Prospect prospect)
{
    ModelState.AddModelError(string.Empty, "You have an error");

    if (!ModelState.IsValid)
        return View("Edit", prospect);

    return Json(prospect);
}

View 看起来像这样:

@model Prospect

@{
    ViewBag.Title = "Profil du prospect";
    Layout = null;
}

//Some javascript and CSS unrelated to validations

@using (Html.BeginForm())
{
    @Html.ValidationSummary(false)
    //My form controls...
}

最佳答案

编辑

问题是组合

ModelState.AddModelError(string.Empty, "You have an error");

@Html.ValidationSummary(false)

一个空字符串是 "" 被插入作为属性名称,事件认为它是一个空字符串。从呈现摘要中删除 bool 值 false 或将 null 传递给 modelstate 包。

关于c# - 验证摘要未显示 Controller 中生成的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13420730/

相关文章:

c# - 使用匿名方法

c# - 使用 web api,您将如何创建一个采用 ID 列表的方法?

c# - 无法从根提供程序解析范围服务。 ASP.NET MVC 应用程序

c# - 在 C# MVC3 中创建并读取 cookie 以确认登录用户

c# - Mono 中的非托管进程

c# - 我用于收藏的 key 是否需要满足任何要求?

c# - 以编程方式将 AutomationIds 分配给 WPF 中的模板化控件

html - 如何使用@RenderPage 内嵌 CSS 内容 - MVC Razor

c# - 无法在 mvc 应用程序上加载文件或程序集 'Magick.NET-x64' 问题

asp.net-mvc - 没有必需属性的bool属性是必需的