.net MVC,需要熟悉資料的傳遞與資料的持續性,Controller傳遞資料到View的方式:

ViewData:key與value成對的Dictionary,在Controller中用 ViewData[“key名稱"]指定value的值,資料可為任何類型,惟資料使用時需轉型 (String型別除外)。網頁轉向資料便會消失!無法跨Actions傳遞資料!

ViewBag:dynamic動態型別,用 ViewBag.key名稱  指定value,指派的值可為任何類型,資料使用時不需轉型。網頁轉向資料便會消失!無法跨Actions傳遞資料!

Model:像是集合,陣列或物件皆可做為Model傳遞至view,網頁轉向資料便會消失!無法跨Actions傳遞資料!

在view中,單筆資料之model物件,通常直接宣告型別,前面不需加上 IEnumerable。
如為 集合式多筆資料,如List泛型集合,則@model指示詞宣告如下:
@model  IEnumerable

TempData:key與value成對的Dictionary,在Controller中用 TempData[“key名稱"]指定value的值,TempData儲存在Session中,可跨Actions傳遞資料!要保留TempData中資料,可使用:
TempData.Keep();

TempData.Keep(“指定的key名稱");

以上Controller傳遞資料到View的方式在面試時也時常考到。


分享這篇文章的網址這篇文章的網址(可分享到FB、LINE):

用LINE分享給朋友: