我正在使用 MVC3 + Razor。现在我有一个包含 Ajax.BeginForm(...) 的表单。我完全按照“Maxim”在这篇文章中所说的话:
带有 HTML.ValidationMessageFor 的 ASP.NET MVC AJAX
我的验证规则定义如下:
ModelState.AddModelError("ControlName", "error message");
然而我的
@Html.ValidationMessageFor(model => Model.OneProperty[0].AnotherProperty)
什么都没给我。
我还将这些代码也放入“错误摘要”的部分视图中。我可以看到代码通过“ValidationSummary”PV 运行,但它只是不显示。
if (!ViewData.ModelState.IsValid)
{
<div id="errorMessage" class="notificationArea">
@Html.Partial("ValidationSummary")
</div>
}
简而言之,我的主要观点是:
@using (Ajax.BeginForm("SaveFromMainView", null, new AjaxOptions
{
HttpMethod = "POST",
UpdateTargetId = "myForm"
},
new { id = "myForm" }))
{
@Html.Partial("SamTest1")
}
在这个“SamTest1”部分视图中,还有另一个“ValidationSummary”部分视图来显示错误消息的项目符号。
我的行动方法最后:
return PartialView("SamTest1");
提前致谢!