2
在ViewBag中多次訪問相同值的View中,將此值存儲在本地變量中而不是經常訪問ViewBag對象會更好嗎?ViewBag訪問性能
在ViewBag中多次訪問相同值的View中,將此值存儲在本地變量中而不是經常訪問ViewBag對象會更好嗎?ViewBag訪問性能
ViewBag
只是一個圍繞ViewData
的動態包裝。所以當你寫ViewBag.Foo
你基本上是查詢ViewData["Foo"]
。但是,由於這是在運行時完成的動態分辨率,因此顯然會有成本。這個代價是你不應該擔心的,因爲它太小了,不會顯着影響你的應用程序的性能,我也不會將結果緩存到局部變量中。
我會打擾的是ViewBag的使用,我絕對會傾向於如果查看模型擺脫。因此,而不是寫作@ViewBag.Foo
您將有一個視圖模型的Foo屬性,並在您的視圖內,您將簡單地使用它 - @Model.Foo
。而且正如你所知道的一個調用一個屬性獲得者將會快速發展。它不僅速度很快,而且在您的觀點中您將受益於強大的打字和智能感知。