1. 程式人生 > >Asp.net MVC ViewData學習

Asp.net MVC ViewData學習

ViewData用於 控制器(Controller)向檢視(View)中傳值

在Controller中使用ViewData:

HomeController.CS

Index.aspx:

ViewData中的資料只能傳遞到當前這個Action所要去載入的檢視頁面中去,而不能跨Action傳輸。

TempData是用於解決在不同的的Action方法之間跳轉的時候的資料傳遞。這裡不同的Action可以是同一個Controller下的不同的Action之間,也可以是不同Controller的Action之間。

在Asp.net MVC 3 web應用程式中,我們會用到

ViewDataViewBag,對比一下:

ViewData ViewBag
它是Key/Value字典集合 它是dynamic型別對像
從Asp.net MVC 1 就有了 ASP.NET MVC3 才有
基於Asp.net 3.5 framework 基於Asp.net 4.0與.net framework
ViewData比ViewBag快 ViewBag比ViewData慢
在ViewPage中查詢資料時需要轉換合適的型別 在ViewPage中查詢資料時不需要型別轉換
有一些型別轉換程式碼 可讀性更好

用Razor實現流暢程式設計

ASP.NET MVC 3配有一個新的名為“Razor”的檢視引擎選項(除了已有的.aspx檢視引擎)。

Razor儘量減少編寫一個檢視模板需要敲入的字元數,實現快速流暢的程式設計工作流。與大部分模板的語法不同,你不必在HTML中為了明確地標記出服務模組的開始和結束而中斷程式設計。Razor解析器足夠聰明,能從你的程式碼中推斷出來。這使其簡潔,富有表現力的語法輸入乾淨,快速,有趣。

例如下面的程式碼片段迭代一列商品(product):

當執行時它產生的結果如下: