ViewBag から同じ値に複数回アクセスするビューでは、ViewBag オブジェクトに頻繁にアクセスするよりも、この値をローカル変数に格納した方がよいでしょうか?
1649 次
1 に答える
4
ViewBagの動的ラッパーViewDataです。したがって、書くViewBag.Fooときは基本的にクエリを実行していますViewData["Foo"]。しかし、これは実行時に行われる動的な解決であるため、明らかにコストがかかります。このコストは気にする必要はありません。非常に小さいため、アプリケーションのパフォーマンスに大きな影響を与えることはなく、わざわざ結果をローカル変数にキャッシュすることもありません。
私が気になるのは、モデルを表示する場合に最も確実に取り除く ViewBag の使用です。したがって、記述する代わりに@ViewBag.Foo、ビューモデルの Foo プロパティを使用し、ビュー内でそれを操作するだけです - @Model.Foo. ご存知のように、プロパティ ゲッターの呼び出しは非常に高速です。高速になるだけでなく、強力なタイピングとビューでの Intellisense の恩恵を受けることができます。
于 2012-10-08T17:03:58.470 に答える