Controller:
ViewData["date1"] = DateTime.Now;
ViewBag.date2 = DateTime.Now;
View:
<div>
@(((DateTime)ViewData["date2"]).ToShortDateString())
<hr />
@ViewBag.date1.ToShortDateString()
</div>
from: http://www.dotblogs.com.tw/inblackbox/archive/2013/06/03/105240.aspx
1.ViewData
存放在物件中,生命週期為一個頁面。
Controller :
存放在物件中,生命週期為一個頁面。
Controller :
| 1 | publicActionResult Index() | 
| 2 |        { | 
| 3 |            ViewData["message"] = "訊息"; | 
| 4 |            returnView(); | 
| 5 |        } | 
View :
| 1 | @ViewData["message"] | 
2.ViewBag
這是MVC 3 之後新增的,使用方式和ViewData一樣,差別在於ViewBag 使用 dynamic 型別,可免去手動轉型的麻煩,使用上較為方便,但也因為動態型別關係,速度上會略比ViewData來的慢(人體無感吧@@)。
Controller :
這是MVC 3 之後新增的,使用方式和ViewData一樣,差別在於ViewBag 使用 dynamic 型別,可免去手動轉型的麻煩,使用上較為方便,但也因為動態型別關係,速度上會略比ViewData來的慢(人體無感吧@@)。
Controller :
| 1 | publicActionResult Index() | 
| 2 |        { | 
| 3 |            ViewBag.message = "訊息"; | 
| 4 |            returnView(); | 
| 5 |        } | 
View :
| 1 | @ViewBag.message | 
3.Temp Data
資料會儲存在Session 中,其生命週期為一個 Request,一旦Request結束就會被刪除。 因此我們可善用此特性讓資料跨不同Action傳遞至View,如RedirectToAction 中作使用,範例如下:
Controller :
資料會儲存在Session 中,其生命週期為一個 Request,一旦Request結束就會被刪除。 因此我們可善用此特性讓資料跨不同Action傳遞至View,如RedirectToAction 中作使用,範例如下:
Controller :
| 01 | publicActionResult Index() | 
| 02 | { | 
| 03 |     TempData["status"] = "我是從index送過來的!"; | 
| 04 |     returnRedirectToAction("about"); | 
| 05 | } | 
| 06 | 
| 07 | publicActionResult about() | 
| 08 | { | 
| 09 |     returnView(); | 
| 10 | } | 
http://www.dotnet-tricks.com/Tutorial/mvc/9KHW190712-ViewData-vs-ViewBag-vs-TempData-vs-Session.html
 
 
 


0 意見:
張貼留言