コントローラの戻り値としてRedirectToActionがあり、ビューではViewBagを使用しています。よく知られている問題ですが、RedirectToActionの後にViewBagが空になります。OnActionExecutingメソッドでオーバーロードされたコントローラーのViewBag値を再初期化すると、問題が発生します。ViewBagは再び空になります。しかし、問題は、私のローカルPC(win7)では問題なく動作しているのに、Webホスティングサーバー(win 2008)ではクラッシュすることです。それで、誰かがそれを引き起こすことができるものを言うのを助けることができますか?多分それは設定か何かですか?
質問する
29275 次
2 に答える
46
ViewBag と ViewData は、現在の要求でのみ存続します。TempData は、リダイレクトを使用するときに使用するものです (その場合のみ): http://rachelappel.com/when-to-use-viewbag-viewdata-or-tempdata-in-asp.net-mvc-3-applications statesこれは明らかに:
[...] TempData オブジェクトは、1 つの基本的なシナリオでうまく機能します。
- 現在の HTTP 要求と次の HTTP 要求の間でデータを渡す
于 2012-08-15T12:17:25.637 に答える
1
データ層の奥深くに例外があり、誤ってキャプチャされたために伝播が妨げられましたが、ViewBag が消失しました。
したがって、例外のキャッチには注意してください。
于 2012-12-16T12:20:50.243 に答える