國慶放假歸來,剛好趕上asp.net mvc 3 beta發布,和大家分享點我的體驗。
首先是建立項目時的選擇介面的改變:
1.View Engine的變化。
asp.net mvc 3中添加了Razor這個View engine。
如果你在建立的項目中同時有Index.aspx和Index.cshtml, 預設的MVC會選擇aspx 的view來顯示。但是你可以通過在Global.asax檔案中的Application_Start方法中添加如下代碼來讓MVC先去執行Razor Engine的Index.cshtml頁面。
代碼如下:
ViewEngines.Engines.Clear(); |
ViewEngines.Engines.Add(new RazorViewEngine()); |
ViewEngines.Engines.Add(new WebFormViewEngine()); |
2.可以隨意修改Model中的屬性顯示順序
在以前的版本中,如果我們建立如下一個Model:
public class Employee |
{ |
public string FirstName { get; set; } |
|
public string LastName { get; set; } |
|
public int EmployeeId { get; set; } |
} |
為這個Model建立一個View代碼如下:
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<Mvc3Beta.Models.Employee>" %> |
|
<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server"> |
Employee Details |
</asp:Content> |
|
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server"> |
<%: Html.EditorForModel(Model) %> |
</asp:Content> |
運行後可以看到Employee類的屬性欄位顯示如下:
在asp.net mvc 3中我們可以通過設定屬性的顯示順序來靈活修改欄位在View頁面的排列位置,例如:
再運行程式,Employee的顯示如下:
3。新增了Grid控制項
我們就使用上面的Employee來建立一個Grid:
顯示Controller部分的代碼:
View部分,我們使用System.Web.Helpers類中的WebGrid來顯示上面的幾個Employee資訊。
運行下,結果如下:
我們設定了以‘FirstName’來排序。你可以通過點擊其它列的表頭來改變排序。
4.新增了Chart組件。
我們來以Employee和Sales的關係來建立一個員工銷售業績的顯示直條圖。
我們建立一個Model為EmployeeSale
Controller部分添加一個ShowChart的控制:
最後是View部分:
這裡需要注意的是Chart這個控制項是通過建立一個臨時的png圖片來顯示,頁面訪問完成後並不儲存此png圖在伺服器端。
運行效果:
更多的新功能請參考release notes。後續會為大家繼續介紹其它功能,比如Ioc,
代碼下載