イントロダクション#
シナリオを想像してみてください。例えば、登録後に別のページにリダイレクトする場合:
- 登録ページで:登録成功後、ログインページにリダイレクトします
- ログインページで:登録成功を一度だけ通知します
通常、ページ遷移後に前のページの操作ヒントを表示するのは面倒なことですが、TempData を使用すると簡単になります。
TempData
のデータの寿命は次のリクエスト内であり、リクエストが終了すると削除されます。これは Scoped
と同様です。
つまり、最初のリクエストで TempData プロパティに値を設定し、次のリクエストでそれにアクセスすると値を取得できますが、リクエストが終了すると値が削除されます。TempData は Dictionary であるため、削除されるのはキーと値のペアです。
使用方法は次のとおりです:まず、プロパティに [TempData]
属性を追加し、これが一時データであることを示します。データを別のリクエストで読み取るまで、読み取った後は削除されます。ただし、さまざまな使用方法があります:
- TempData 値にアクセスした後、リクエスト終了後に削除されないように、Keep または Peek を呼び出してデータを保持します。
- TempData 値にアクセスした後、リクエスト終了後に削除されるように、直接辞書アクセスを使用します
TempData["Message"]
詳細は公式ドキュメントを参照してください:https://learn.microsoft.com/en-us/aspnet/core/fundamentals/app-state#tempdata
完全なコードはこちらを参照してください:https://github.com/myesn/temp-data-in-asp-dotnet-core