【分享】MVC2.0升級到MVC3.0后的4個區別


摘要:為了趕上技術潮流,項目組計划把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"); }

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM