天天看點

MVC中從控制器到視圖的資料傳遞方法彙總

1、ViewData對象

概述

ViewData是一種字典集合資料,是"視圖基類"和"控制器基類"的屬性

常見用法是在控制器中寫入資料,在視圖中讀取資料

ViewData的Value可以存放任意資料類型的資料,是以使用時需要強制轉換

MVC中從控制器到視圖的資料傳遞方法彙總

2、動态對象ViewBag

概述

了解:ViewBag是dynamic類型的對象,同樣也是"視圖基類"和"控制器基類"的屬性

好處:使用更靈活友善

特點:ViewBag其實是對ViewData資料的包裝,使用ViewData儲存的資料可使用ViewBag讀取,反之亦然

應用:實際開發中最好選擇其中的一種使用,建議使用ViewBag

MVC中從控制器到視圖的資料傳遞方法彙總

3、跨請求資料傳遞TempData

概述

了解:TempData是一種字典對象,也能用于從"控制器到視圖"的資料傳遞,和ViewData類似

特性:TempData還能實作"不同請求之間"的資料傳遞

MVC中從控制器到視圖的資料傳遞方法彙總

注意問題:

TempData資料儲存機制是Session,但又不完全同Session

情況1:TempData儲存資料後,如果被使用,就會被清除,是以後面的請求将不能再次使用

情況2:TempData儲存資料後,如果沒有被使用,則它儲存的時間是Session的生存期

幾種傳遞方式的比較

MVC中從控制器到視圖的資料傳遞方法彙總

繼續閱讀