MVC 是三種 ASP.NET 編程模式中的一種。html
MVC 是一種使用 MVC(Model View Controller 模型-視圖-控制器)設計建立 Web 應用程序的模式:java
MVC 模式同時提供了對 HTML、CSS 和 JavaScript 的徹底控制。jquery
Model(模型)是應用程序中用於處理應用程序數據邏輯的部分。數據庫
一般模型對象負責在數據庫中存取數據。編程
View(視圖)是應用程序中處理數據顯示的部分。設計模式
一般視圖是依據模型數據建立的。緩存
Controller(控制器)是應用程序中處理用戶交互的部分。服務器
一般控制器負責從視圖讀取數據,控制用戶輸入,並向模型發送數據。session
MVC 分層有助於管理複雜的應用程序,由於您能夠在一個時間內專門關注一個方面。例如,您能夠在不依賴業務邏輯的狀況下專一於視圖設計。同時也讓應用程序的測試更加容易。
MVC 分層同時也簡化了分組開發。不一樣的開發人員可同時開發視圖、控制器邏輯和業務邏輯。
MVC (Model、View、Controller)將一個Web應用分解爲:Model、View和Controller。ASP.NET MVC框架提供了一個能夠代替ASP.NETWebForm的基於MVC設計模式的應用。
ASP.NET MVC概述·MVC的優勢:
1.經過把項目分紅Model、View和Controller,使得複雜項目更加容易維護,減小項目之間的耦合。
2.沒有使用ViewState和服務器表單控件,能夠更方便的控制應用程序的行爲
3.應用程序經過Controller來控制程序請求,並提供了原生的UrlRouting功能來重寫Url。
4.使Web程序對單元測試的支持更加出色
5.在團隊開發模式下表現更出衆
ASP.NET MVC概述·WebForm的優勢:
1.採用事件驅動模式來控制應用程序請求,由大量服務器控件支持
2.採用頁面控制機制,能夠爲單個頁面添加事件處理函數。
3.使用ViewState和服務器端頁面,使管理頁面狀態信息更加輕鬆。
4.對人數較少的想使用服務器端控件的開發團隊,使用起來更加方便
5.開發起來比MVC模式要輕鬆簡單一些
ASP.NET MVC概述MVC框架特點:
1.分離任務(輸入邏輯,業務邏輯和顯示邏輯),易於測試和默認支持測試驅動開發(TDD)。全部MVC用到的組件都是基於接口而且能夠在進行測試時進行Mock,你在不運行ASP.NET進程的狀況下進行測試,使得測試更加快速和簡捷。
2.可擴展的簡便的框架。MVC框架被設計用來更輕鬆的移植和定製功能。你能夠自定義視圖引擎、UrlRouting規則及重載Action方法等。MVC也支持Dependency Injection (DI,依賴注入) and Inversion of Control (IoC,控制反轉)的良好支持。
3.強大的UrlRouting機制讓你更方便的創建容易理解和可搜索的Url,爲SEO提供更好的支持。Url能夠不包含任何文件擴展名,而且能夠重寫Url使其對搜索引擎更加友好。
4.可使用ASP.NET現有的頁面標記、用戶控件、模板頁。你可使用嵌套模板頁,嵌入表達式<%=%>,聲明服務器控件、模板,數據綁定、定位等等。
5.對現有的asp.net程序的支持,mvc讓你可使用如窗體認證和Windows認證、url認證、組管理和規則、輸出、數據緩存、session、profile 、health monitoring、配置管理系統、provider architecture特性。
Scott Gu在博客中宣佈ASP.NET MVC 2正式版發佈,該版本適用於Visual Studio 2008及基於ASP.NET 3.5平臺的Visual Web Developer 2008 Express。
在2010年4月12日發佈的VS 2010正式版與Visual Web Developer 2010正式版中內置對ASP.NET MVC 2的支持,不須要再另外安裝。
ASP.NET MVC 2是ASP.NET MVC的又一次重大更新,兼容ASP.NETMVC 1,和之前同樣,ASP.NET MVC 2源代碼徹底開放。
ASP.NET MVC 2能夠與ASP.NET MVC 1並存,也就是說在同一臺機器上,能夠有的程序用ASP.NET MVC 1,有的程序用ASP.NET MVC 2
ASP.NET MVC 3能夠與ASP.NET MVC 2並存。
ASP.NET MVC 3中提供了新的View引擎,Razor。
ASP .NET MVC內包含若干關鍵技術。
ActionResult : Action 的返回類型
Filter :過濾器
ModelBinder : Model綁定器
Url Routing :Url路由規則
視圖引擎:ASP .NET MVC包含多種視圖引擎,其中以WebForms(即aspx)以及WebPages(Razor)最爲經常使用