ASP.NET MVC を使用して単純なブログ プラットフォームを作成しています。私の質問は、部分ビューに含まれるフォームと、コントローラーからの応答、検証エラー、または成功の処理に関するものです。
特定の URL の投稿を返すコントローラーが関連付けられているブログ投稿アイテム ビューがあります。このビューには、投稿に関するコメントを送信するためのフォームを含む部分ビューが埋め込まれています。部分ビュー フォームは、コメントの追加を処理する別のコントローラーに送信されます。add comment アクション内で検証を実行し、エラーを ModelState オブジェクトに追加します。
問題は、ユーザーが元の投稿アイテムに戻されるように、部分ビュー アクションで RedirectResult を返さなければならないことです。つまり、ModelState オブジェクトや返すべき成功メッセージが失われます。
検証や成功の情報を元のビューに戻すために TempData を使用することについて人々が言及しているのを見てきましたが、私にはこれは少しハックに聞こえます。これは本当に解決策ですか?もしそうなら、誰かがその使用法の良い例を推薦できますか? そうでない場合、これは選択したアーキテクチャに大きな問題があることを示していますか?