2

3 つの部分ビューを含む 1 つのページがあります。私は明らかにIDの衝突を避ける必要があります。3 つの部分ビューすべてとメイン ページには、独自のビュー モデルがあります。メイン ビューでボタンをクリックすると、最初は非表示の div の html が更新され、コントローラーへの ajax 呼び出しによって部分ビュー (onSuccess: div.html(data) ) が返されます。その部分的なビューで、コントローラーに送信することでモデルを更新できます。データが正しく送信されていることがわかります。

必須フィールドを意図的に空白のままにして部分ビューを送信すると、戻ってきて、検証の概要またはフィールドにエラーが表示されるはずです。

モデルを返す前にコントローラーにこれを追加した場合のように:

ModelState.AddModelError("", "There was an error submitting data to the database.");

バインディング プレフィックスを変更しなければ機能します。

次のメソッドのようにバインディング プレフィックスを変更すると機能しません: コントローラー内:

public ActionResult SaveSchedHeaderSub([Bind(Prefix="SHS")]CPSchedHeaderSubViewModel theModel)  

部分ビュー:

@{ ViewData.TemplateInfo.HtmlFieldPrefix = "SHS";}

はい、すべての正しい JavaScript ファイルがあります。このシナリオでは、モデルの状態エラーが機能していません。

どんな助けでも大歓迎です。このシナリオでは、可能な限り最善の方法でフィールドの名前にプレフィックスを付ける必要があります。

私は長年の読者であり、これが私の最初の質問です。

前もって感謝します。

4

0 に答える 0