0

ChildAction からレンダリングされたフォームの ModelState エラーを永続化するために TempData を使用しています。このフォームを使用すると、ユーザーはブログ投稿にコメントを投稿できます。ModelState が有効でない場合、エラーは TempData にコピーされ、ChildAction をShowPost介して検証エラーを含むコメント フォームを表示するアクションにリダイレクトします。

私の懸念は、ModelState エラーを TempData に保存してから ChildAction に再表示するまでの間に、実際に 2 回リダイレクトしていることです。これは、私のShowPostアクションでは、現在の投稿に一致する有効なスラッグがあるかどうかも確認し、そのスラッグが見つからない/正しくない場合はリダイレクトしてそのスラッグを含めるためです。つまり、ユーザーがコメントを投稿すると、次の場所に投稿されます。

/posts/comment

次の場所にリダイレクトされます。

/posts/1/

次にリダイレクトします。

/posts/1/article-title

コメントエラーが表示される前。私のテスト サーバーでは問題なく動作していますが、この 2 番目のリダイレクトで特定の問題が発生する可能性はありますか? 私が読んだ投稿/質問は、リダイレクトの直後に TempData を使用する必要があることを示唆しているため、私は尋ねています。そうでない場合、リクエスト間でデータが失われる可能性があり、2 回目のリダイレクトが原因ではないかと考えています。

4

1 に答える 1

2

MVC 2 および 3 では、TempData は常に一度だけアクセスできます。特定のキーにアクセスすると、一時データは破棄されます。

于 2011-10-16T22:50:05.503 に答える