私のセットアップ:
- 次のようなルートを表示します。
/Pages/Details/2
- ページ詳細ビューは
<% Html.RenderAction("CreatePageComment", "Comments"); %>
コメントフォームをレンダリングする必要があります - コメントフォームの投稿
Comments/CreatePageComment
/Comments/CreatePageComment
RedirectToAction
コメントが正常に作成されたときに返されます- これはすべてうまく機能します
私の質問:
/Pages/Detail/1
検証エラーが発生した場合、コメントフォームに戻ってエラーを表示するにはどうすればよいですか?
- を使用する場合
RedirectToAction
、検証は難しいようです。単に返すのではなく、検証エラーにPost-Redirect-Getパターンを使用する必要がありますか? - 戻る
View()
と、CreateComment.aspx
ビューを表示するようになります(検証は行われますが、白いページのフォームだけです) 。/Pages/Details/2
を呼び出したルートではありませんRenderAction
。
PRGパターンを使用する必要がある場合は、PRGを使用しながら検証を行う方法を学ぶ必要があると思います。そうでない場合、そして私にはこれを返すことでより適切に処理できるように思われますView()
が、を使用しているときにユーザーを初期ビューに戻してフォームエラーを表示する方法がわかりませんRenderAction
。
これは、頭を軽くたたくと同時に腹をこするゲームのように感じます。私もそれが苦手でした。私はMVCを初めて使用するので、ここで問題が発生する可能性があります。