Asp.net mvc 3 beta 新特性介紹
國慶放假歸來,剛好趕上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.Add(new RazorViewEngine());
ViewEngines.Engines.Add(new WebFormViewEngine());
2.可以隨意修改Model中的屬性顯示順序
在以前的版本中,如果我們創建如下一個Model:
{
public string FirstName { get; set; }
public string LastName { get; set; }
public int EmployeeId { get; set; }
}
為這個Model創建一個View代碼如下:
Inherits="System.Web.Mvc.ViewPage<Mvc3Beta.Models.Employee>" %>
<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
Employee Details
</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.