c# - Html.ValidationMessage 未显示消息

标签 c# html asp.net asp.net-mvc-4 modelstate

我有一个 Controller ,我将错误(异常)添加到 ModelState。在 View 中,当我尝试通过 Html.ValidationMessage() 显示消息时,它没有显示消息。谁能帮我解决这个问题?

Controller :

public ActionResult FooMeth()
{
   ....
   if(cond == false)
   {
     ModelState.AddModelError("mykey","mymessage");
   }
   ....
   return View("fooView",mymodel);
}

查看:

@Html.TextBox("foo")
@Html.ValidationMessage("mykey")

它不会显示“mymessage”,而是始终为空白。有人能告诉我这背后的原因是什么吗?

最佳答案

尝试在你的 View 中使用 ViewModel,然后你可以根据你的 ViewModel 属性使用 Razor Helper:

@Html.TextBoxFor(m => m.Foo)
@Html.ValidationMessageFor(m => m.Foo)

并将其添加到您的 View 中,以便显示验证结果

@Html.ValidationSummary(true)

关于c# - Html.ValidationMessage 未显示消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34511162/

相关文章:

c# - 如何使用反射获取当前项目中的所有类?

c# - 接口(interface)实现错误

javascript - 如何使用从 iframe 加载的点击事件关闭 Bootstrap 模式

c# - Javascript 读取 ASP GridVIEW BoundField Column which is visible false

c# - 将图像控件转换为字节数组 Asp.Net

c# - 从 Asp.net web api 2 过滤器属性响应返回 JSON 的正确方法

c# - 调整并发字典大小时遇到​​ Synchronization LockException

javascript - 在 ul 的集合中查找具有特定 li 项的 ul,然后向其添加类

html - 我需要在网站上满足的最小屏幕尺寸是多少

javascript - 按钮禁用时如何替换事件处理程序