用聯(lián)合查詢的viewbag 什么是ViewData的,ViewBag和TempData?
什么是ViewData的,ViewBag和TempData?在asp.netmvc程序設(shè)計(jì)中,傳遞數(shù)據(jù)常常會用到viewdata、viewbag、tempdata,這3個對象都可以用來傳遞數(shù)據(jù),但他們
什么是ViewData的,ViewBag和TempData?
在asp.netmvc程序設(shè)計(jì)中,傳遞數(shù)據(jù)常常會用到viewdata、viewbag、tempdata,這3個對象都可以用來傳遞數(shù)據(jù),但他們在細(xì)節(jié)中有很多的不同之處。ViewData:ViewData是一個字典集合,通過key值讀取對應(yīng)的value使用方法:ViewData["myname"]="張三"ViewBag:ViewBag是動態(tài)類型,作用和ViewData一樣,都是用來存儲信息,有一些不同的是ViewData是object類型,ViewBag是動態(tài)類型,從運(yùn)行效率上來講,ViewBag高于ViewData。在實(shí)際開發(fā)中,通不只用其中一種。使用方法:ViewBag.data="張三"TempData:跨請求數(shù)據(jù)傳遞,它的機(jī)制類似于Session對象,不同的頁面之間可以傳遞參數(shù),但TempData只保存上一次的數(shù)據(jù),當(dāng)頁面再次刷新,數(shù)據(jù)消失。使用方法:TempData["myname"]="張三"
mvc中viewdata和viewbag的區(qū)別?
ViewData和TempData是字典類型,賦值方式用字典方式, ViewData["myName"] ViewBag是動態(tài)類型,使用時直接添加屬性賦值即可 ViewBag.myNameViewBag和ViewData只在當(dāng)前Action中有效,等同于ViewTempData可以通過轉(zhuǎn)向繼續(xù)使用,因?yàn)樗闹当4嬖赟ession中。但TempData只能經(jīng)過一次傳遞,之后會被系統(tǒng)自動清除ViewData和ViewBag 中的值可以互相訪問,因?yàn)閂iewBag的實(shí)現(xiàn)中包含了ViewData!
viewbag能傳遞model嗎?
ViewBag和ViewData 其實(shí)是互通的,他們的區(qū)別是 ViewBag不再是鍵值對的存儲形式,而是dynamic動態(tài)類型的,他會在程序運(yùn)行的過程中被解析。