摘要:為了趕上技術潮流,項目組計划把MVC版本從2.0升到3.0,通過研究MVC3.0英文教材,總結出如下4個MVC3.0和2.0的重要區別。(女孩禮物網)
1. @ 符號在 View 頁面中的用法:
C#代碼以 @符號開頭,例如
1 <h2>Name: @Model.Name</h2> 2 3 以及 4 5 @if (Model.Category == "Watersports") { 6 <p>@Model.Category <b>Splash!</b> </p> 7 }
如果你的代碼中不是以 html 標記開頭,也就是說你想在一段文本內部使用 C#代碼的話,使用 @: 標記,例如
@:Category: @Model.Category <b>Splash!</b>
你可以通過 @{ } 把一大塊代碼組織起來,例如
@{ if (Model.Category == "Watersports") { @:Category: @Model.Category <b>Splash!</b> } if (Model.Price > 10) { <h5>Pricey!</h5> } }
假如你使用的是 html 標記開頭的話,可以寫成這樣
<span>Category: @Model.Category <b>Splash!</b></span>
建立強類型的 view 頁面之后,頁頭中使用 @model (必須為小寫字母)指明對象的類型,例如 @model Razor.Models.Product
引用命名空間在頁頭中使用 @using 例如 @using System.Data;
2. Controler 向 View 傳值
以前的方法仍然可用,比如 return view(model) ,用於向強類型的頁面傳入對象,或者使用 ViewData
MVC3 又增加了 ViewBag ,這是一個動態類型,意思是說你可以不需要定義它的屬性和數據類型,在使用的時候直接使用。
例如 ViewBag 根本沒有 aaa 這個屬性,也不知道 aaa 到底是什么類型,你可以直接 ViewBag.aaa=123 這樣用,
系統自動給 ViewBag 增加一個 int 型的屬性 aaa 並賦值 123 ,在 View 頁面中可以直接調用 ViewBag.aaa 獲取到 123
3.母板頁的使用
在創建 view 的時候,如果勾選了“使用母板頁”的復選框,但並沒有指定母板頁的名字,
系統默認使用的是 _ViewStart.cshtml 頁面中通過 Layout 指定的母板頁。
如果新創建的 View 中不需要母板頁,則必須有以下代碼:
@{ Layout = null; }
4. 呈現部分視圖時使用 @Html.Action、@Html.Partial和@Html.RenderPartial 方法
語法如下:
@Html.Action("PartialViewName") @Html.Partial("PartialViewName") @{ Html.RenderPartial("PartialViewName"); }