3.ASP.NET MVC 3.0/4.0新特性

來源:互聯網
上載者:User

1.3  ASP.NET MVC 3.0/4.0新特性

除了依賴於.NET Framework 4.0之外,MVC 3.0/4.0還做了很多改進並引入了許多新的特性。包括:

  • Razor視圖引擎;
  • NuGet包管理工具;
  • 改善的可擴充性;
  • 全域活動篩選器(Global Action Filter);
  •  動態語言支援;
  • 局部網頁輸出快取;
  • 改進的ajax;
  • 改善的驗證機制;
  • 移動項目開發模板;
  • Web API;

在本節接下來,我們將簡單介紹每一個新特性,後面再逐一深入講解。我們將在第23和24章介紹移動項目開發模板、Web API和其他只有MVC
4.0才有的特性。

1.3.1         Razor視圖引擎

Razor視圖引擎是ASP.NET Web Pages技術幾個核心組件之一。Razor提供了將代碼和標記語言混寫更簡潔的方式。在ASP.NET
MVC 1.0和2.0中只有一個視圖引擎——WebForm視圖引擎,但現在除了Web Form視圖引擎,你還可以選擇razor視圖引擎開發應用程式。

例如,下面的代碼示範了使用傳統的Web Form引擎,在頁面顯示產品列表。

<%@ PageLanguage="C#" Inherits="System.Web.MVC.ViewPage<Product[]>"%>

<ul>

<% foreach(varproduct in Model) { %>

<li><%:product.Name %></li>

<% } %>

</ul>

這是非常雜亂的。頂端的page指令和用於在代碼和標記語言之間切換的<% %>符號,向頁面標記中添加了很多多餘的字元。相反,Razor提供了一種非常簡潔的方式實現相同的功能:

@model Product[]

<ul>

@foreach(var productin Model) {

<li>@product.Name</li>

}

</ul>

可以看到,Razor不需要任何的代碼起始和結束標記,就能在代碼和標記之間切換,這使得頁面可以只關注於頁面呈現的標記,我們將會在第1部分大量使用Razor視圖引擎,第17章將會深入講解Razor視圖引擎。

1.3.2    NuGet包管理器

NuGet包管理器與ASP.NET MVC一起發布。NuGet簡化了對相依元件的管理,它可以直接將需要的組件、庫檔案和一些其他的工具包安裝到你的項目中,不用像以前那樣,當需要第三方組件時,要手動在網上下載。一旦安裝成功,在Visual Studio中,這些組件可以很容易更新到最新版本。

你可以通過NuGet提供的命令列方式或者GUI介面,在大量的線上提供的包中下載你需要的組件和庫。我們將在第14章詳細介紹NuGet。

1.3.3 改善的可擴充性

ASP.NET MVC公開的額外的可擴充性進入點,使得你可以將自己的組件掛鈎到架構中,從而取代架構預設提供的功能。MVC中的依賴解析(Dependency Resolver)可以用來執行個體化對象,並將它們提供給架構。這個方法可以被整合到不同的依賴反轉容器中,減少了必須手動初始化對象的次數。

我們將在第18章學習如何使用依賴解析器和依賴反轉容器提供者的可擴充性。

1.3.4    全域活動過濾器

MVC中的全域活動過濾器特性構建在MVC 1.0和2.0的過濾器機制之上,目的是為了在應用程式中向所有的控制器活動提供通用行為(Cross-cutting behavior)。雖然這看起來是一個不起眼的特性,但它可以巨幅減少應用程式中篩選器聲明的次數。我們將在第16章深入學習全域篩選器。

1.3.5    動態語言支援

由於運行在.NET4.0之上,ASP.NET MVC利用了一些DLR中的特性,其中包括通過動態模型(Dynamic Model)向視圖傳遞資料。我們將在第3章繼續學習該特性。

1.3.6     部分網頁輸出快取

自ASP.NET MVC誕生之初,就支援在一段時間內緩衝整個頁面。現在它也開始支援只快取頁面面中特定的部分。我們將在第17章學習這種新的緩衝機制。

1.3.7    改善的ajax

MVC通過整合jQuery以及其他的Javascript庫,將繼續支援豐富的ajax功能。同時支援將json資料還原序列化後作為活動方法的參數的功能。我們將在第7章學習這些ajax改進功能。

1.3.8    改善的驗證機制

MVC支援使用資料註解(data annotation)特性驗證模型對象。這些特性在.NET 4.0和ASP.NET MVC中顯著增強。另外,對用戶端驗證的支援也被大大改善了。我們將在第6章學習這些驗證特性。

現在你已經大體瞭解了ASP.NET MVC的一些顯著特性,接下來我們將通過一個案例項目深入研究這些特性。這個例子將會貫穿本書的整個第1部分。

1.4           小結

本章中,你瞭解了ASP.NETMVC的曆史,看到了ASP.NET平台的發展曆程,以及微軟構建在核心ASP.NET之上的3個開發架構:ASP.NET Web Form,ASP.NET MVC和ASP.NET Web Pages。你同時學到了MVC 3.0和4.0中的一些新特性,我們整本書都會用來介紹這些新特性。

下一章,我們將會引入GuestBook項目,該項目會一直作為例子貫穿本書的第一部分。藉助於GuestBook這個樣本,我們將開始ASP.NET MVC的學習,並逐步深入。

請繼續閱讀,接下來我們將介紹如何使用ASP.NET MVC開始建立一個新的項目。



 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.