我正在使用ASP.NET MVC 5,我有一个使用以下Html帮助器的表单
@Html.ValidationMessageFor(model => model.Name, "", new { @class = "text-danger" })
当我查看在浏览器中生成的渲染的Html时,它似乎将其渲染为 Span 元素。这会导致验证消息与我的一个标签位于同一行。
我想知道的是如何让@Html.ValidationMessageFor()
方法渲染 Div 元素而不是 Span ?
答案 0 :(得分:4)
不要将其变成div,只需添加样式规则{for ValidationMessageFor
:
@Html.ValidationMessageFor(model => model.Name, "", new { @class = "text-danger newLine" })
.newLine
{
display:block;
}
答案 1 :(得分:2)
最后添加一个参数。
@Html.ValidationMessageFor(model => model.Name, "", new { @class = "text-danger newLine" },"div")
它将创建一个div。
答案 2 :(得分:1)
在App_Start内部,您可以在其中激活客户端验证并且不打扰,可以为验证设置默认元素。
HtmlHelper.ClientValidationEnabled = true;
HtmlHelper.UnobtrusiveJavaScriptEnabled = true;
HtmlHelper.ValidationMessageElement = "div";