ASP.NET MVCでTempdataを使用する - ベストプラクティス
2023-08-31 06:26:27
質問
ASP.NET MVC 3を使用して、Webアプリケーションを構築しています。
私が行おうとしていることは、2つのコントローラ間で値を渡すことです。
TempData
を使うことに特に興味があります。
public ActionResult Action1()
{
string someMessage;
Test obj = SomeOperation();
if(obj.Valid)
{
someMessage = obj.UserName;
}
else
{
someMessage = obj.ModeratorName;
}
TempData["message"] = someMessage;
return RedirectToAction("Index");
}
public ActionResult Index()
{
ViewBag.Message = TempData["message"]
return View();
}
の使い方もそうですが
TempData
の使い方は正しいのでしょうか?つまり、ベスト・プログラミング・プラクティスでは、このように
TempData
?
どのようなリアルタイムケースで
TempData
を使うべきでしょうか?
注意。 私は以下のリンクに目を通しました。
- ASP.Net MVCでTempDataとSessionのどちらを使用するか?
- http://www.gregshackles.com/2010/07/asp-net-mvc-do-you-know-where-your-tempdata-is/
ありがとうございます。
どのように解決するのですか?
TempData
は、次のリクエストにのみ必要なデータを捨てることができるバケツです。つまり、TempData に入れたものは、次のリクエストが完了した後に破棄されます。これは、フォームの検証エラーのような一度きりのメッセージに便利です。ここで注意すべき重要なことは、これはセッション内の次のリクエストに適用されるため、そのリクエストは別のブラウザウィンドウやタブで発生する可能性があることです。
特定の質問に答えるために: これを使用する正しい方法はありません。すべては使いやすさと利便性次第です。それが機能し、意味があり、他の人が比較的簡単に理解できるのであれば、それは良いことです。あなたの場合、この方法でパラメータを渡すのはいいのですが、そうする必要があるのが不思議です(コード臭?) 私はむしろこのような値をリソース(リソースであれば)またはデータベース(永続的な値であれば)に保持することをお勧めします。あなたの使い方からすると、ページタイトルに使っているので、リソースのように思えます。
お役に立てれば幸いです。
関連
-
[解決済み] ファイルアップロード ASP.NET MVC 3.0
-
[解決済み] ASP.NET MVC Frameworkで複数のサブミットボタンを処理する方法は?
-
[解決済み] ASP.NET MVCでenumからドロップダウンリストを作成するにはどうすればよいですか?
-
[解決済み] ASP.NET MVC - カスタムIIdentityまたはIPrincipalの設定
-
[解決済み] ASP.NET MVCでビューをコンパイルする
-
[解決済み】ASP.NET MVC 3 RazorでAjax.BeginFormを使用する。
-
[解決済み】NULLモデルを持つrenderpartialは、間違った型を渡される
-
[解決済み】ASP.NET MVC 3 - 部分テンプレートと表示テンプレートと編集テンプレート
-
[解決済み] 型名または名前空間名 'DbContext' が見つかりませんでした [閉鎖]。
-
[解決済み] ASP.NET MVC - TempData - グッドプラクティスかバッドプラクティスか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Automapperにタイプマップの設定がない、またはマッピングがサポートされていない - エラー
-
[解決済み] RedirectToActionのパラメータとしてmodelを渡すことはできますか?
-
[解決済み] RedirectToActionでURLが変更されない、またはIndexビューに移動しない
-
[解決済み] 修正方法: ハンドラ "PageHandlerFactory-Integrated" のモジュールリストに "ManagedPipelineHandler" という不正なモジュールが含まれています。
-
[解決済み】ASP.NET mvcとIISでURLのドットが原因で404になる
-
[解決済み] ASP.NET MVCでリクエストスロットルを実装するための最良の方法は?
-
[解決済み】ViewBag、ViewData、TempDataについて
-
[解決済み] ソートロジックは、モデル、ビュー、コントローラのいずれに配置するのがよいのでしょうか?[クローズド]
-
[解決済み] Asp.net MVC ModelState.Clear
-
[解決済み] AJAX MVCによるExcelファイルのダウンロード