2

コントローラーでエラーを生成してビューに戻ると、検証の概要が表示されません。ビュー自体から生成されたエラーに対しては、すべて正常に機能します。概要を表示するにはどうすればよいでしょうか。

単純化されたコントローラーの方法は次のとおりです。

[HttpPost]
public ActionResult EditProfil(Prospect prospect)
{
    ModelState.AddModelError(string.Empty, "You have an error");

    if (!ModelState.IsValid)
        return View("Edit", prospect);

    return Json(prospect);
}

ビューは次のようになります。

@model Prospect

@{
    ViewBag.Title = "Profil du prospect";
    Layout = null;
}

//Some javascript and CSS unrelated to validations

@using (Html.BeginForm())
{
    @Html.ValidationSummary(false)
    //My form controls...
}
4

2 に答える 2

3

編集

問題は組み合わせです

ModelState.AddModelError(string.Empty, "You have an error");

@Html.ValidationSummary(false)

空の文字列は""プロパティ名として解釈されます。イベントはそれが空の文字列であると考えました。false要約のレンダリングからブール値を削除するかnull、modelstate バッグに渡します。

于 2012-11-16T16:43:01.260 に答える