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