私が読んだことから、TempDataに配置された情報は、現在の要求と次の要求(そこではリダイレクトを介して情報を渡すことができる)にあります。問題は、リダイレクトしないコントローラアクションを参照すると、TempDataの情報が次のリクエストのためにそこに残ることです。 TempDataを使用して、ユーザーに表示される情報メッセージを格納しています。そのため、2番目の画面の最初の画面のメッセージも表示されます。ASP.NET MVC:コントローラメソッド実行後のTempDataのクリア
もう一度使用しなくなったら、コントローラのライフサイクルでTempDataをクリアするのに良い時期はありますか?
コントローラの動作がリダイレクトされている場合はどうなりますか?その場合、メッセージはもう存在しないため、ViewDataを使用することはできません。 TempData/ViewDataに格納するよりも、このような表示メッセージを処理する方がいいですか? –
リダイレクト時にはViewDataを、リダイレクト時にはTempDataを使用する必要があります。どちらの場合も、他のすべては自動的です。表示するには、 TempData ["key"] ??と書いてください。 ViewData ["key"] を表示します。 –