MVC3 + Razor を使用しています。これで、Ajax.BeginForm(...) を含むフォームができました。この投稿で「マキシム」が言ったことを正確にフォローします。
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");
よろしくお願いします!