如何在我的MVC4网页上显示ValidationSummary?

时间:2013-01-01 20:21:02

标签: asp.net-mvc asp.net-mvc-3 asp.net-mvc-4

当我像这样对Razor HTML进行编码时:

@using (Html.BeginForm(new { ReturnUrl = ViewBag.ReturnUrl })) {
   @Html.ValidationSummary()
}

我得到以下内容,这正是我想要的:

<div class="validation-summary-valid" data-valmsg-summary="true">
<ul>
<li style="display:none"></li>
</ul>
</div>

然而,我需要的表格如下:

<form class="form" data-href="/User/Account/Register" id="registerForm">
   @Html.ValidationSummary()
</form>

使用上面的代码我没有得到validation-summary-valid类。能够 有人解释为什么这是或者可能建议我如何编码 HTML.BeginForm,以便我可以获得我需要的表单定义。

2 个答案:

答案 0 :(得分:0)

使用重载的BeginForm包含HtmlAttributes:

@using (Html.BeginForm("action", "controller", new { ReturnUrl = ViewBag.ReturnUrl }, FormMethod.Post, new { @class = "form", @id = "registerForm", data_href = "/User/Account/Register" }))
{
    ....
}

视图引擎不会解析“data-href”,因此您必须使用下划线而不是连字符。

答案 1 :(得分:0)

在您的视图顶部尝试以下

ViewContext.FormContext = new FormContext();