5

@Ajax.BeginFormAjaxによってフォームデータをサーバーに送信するヘルパーメソッドを使用しています。データがサーバーに到着すると、サーバー側の検証が処理され、最終結果がブラウザーに返されます。

私の問題は、ページを更新せずにエラーを表示したいということです。これに基づいてたくさんの質問を見つけましたが、それらは古いものです。これを達成するための新しい方法があるかどうか疑問に思います。私がこれまでに見つけた最良の方法は、jQueryを使用して結果を処理することです。しかし、おそらく新しいMVC4には、この問題をより良い方法で達成するための機能が組み込まれていますか?

4

1 に答える 1

3

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

<div id="update-this">
@using (Ajax.BeginForm("YourAction", new AjaxOptions { UpdateTargetId = 'update-this' }))
{    
}
</div>

フィールドの横にも使用@Html.ValidationMessageFor(model => model.someField)して、エラー メッセージを表示します。

エラーが発生した場合、サーバー側で部分ビューを返します。

public ActionResult YourAction(YourModel yourmodel)
{
    if (ModelState.IsValid)
    {
        // Do what is needed if the data is valid and return something
    }
    return PartialView("DisplayPartial", yourmodel);
}

そして、モデルでデータ注釈を使用して機能させます。(チュートリアルはこちら)

于 2013-03-26T13:54:38.937 に答える