1. 程式人生 > >ASP.NET MVC5(一):ASP.NET MVC概覽

ASP.NET MVC5(一):ASP.NET MVC概覽

depend 靈活 預覽版 管理 res lob 代碼 oba 引擎

ASP.NET MVC概覽


ASP.NET MVC是一種構建Web應用程序的框架,它將一般的MVC(Model-View-Controller)模式應用於ASP.NET框架。

ASP.NET MVC模式簡介

MVC將Web應用程序劃分為三個主要的部分,以下是MSDN給出的定義:

  • 模型(Model):模型對象是實現應用程序數據域邏輯的應用程序部件。 通常,模型對象會檢索模型狀態並將其存儲在數據庫中。 例如,Product 對象可能會從數據庫中檢索信息,操作該信息,然後將更新的信息寫回到 SQL Server 數據庫內的 Products 表中。
  • 視圖(View):視圖是顯示應用程序用戶界面 (UI) 的組件。 通常,此 UI 是用模型數據創建的。 Products 表的編輯視圖便是一個視圖示例,該視圖基於 Product 對象的當前狀態顯示文本框、下拉列表和復選框。
  • 控制器(Controller):控制器是處理用戶交互、使用模型並最終選擇要呈現的視圖來顯示 UI 的組件。 在 MVC 應用程序中,視圖僅顯示信息;控制器則用於處理和響應用戶輸入和交互。 例如,控制器處理查詢字符串值,並將這些值傳遞給模型,而模型可能會使用這些值來查詢數據庫。

ASP.NET MVC的發展歷程

首先,我們以一張時間軸線圖開始,了解一下ASP.NET MVC的發展歷程。
技術分享

  • 2007年2月,Microsoft公司的Scott Guthrie在旅途中草擬了ASP.NET MVC的內核程序。經過9個預覽版本,於2009年3月13日,正式發布ASP.NET MVC1官方版本。
  • 時隔一年,ASP.NET MVC2於2010年3月發布,部分主要特征如下:
    • 帶有自定義模板的UI輔助程序
    • 在客戶端和服務員基於特性的模型驗證
    • 強類型的HTML輔助程序
    • 改善的Visual Studio開發工具
    • 支持將大型應用程序劃分為域
    • 支持異步控制器
    • 使用Html.RenderAction支持渲染網頁或網站的某一部分
    • 新的輔助函數、使用工具和API增強
  • 10個月後,ASP.NET MVC3正式推出,部分主要特征如下:
    • 支持Razor視圖引擎
    • 支持.NET4數據註解
    • 改進了模型驗證
    • 提供更強的控制和更大的靈活性,支持依賴項解析(Dependency Resolution)和全局操作過濾器(Global Action Filter)
    • 豐富的JavaScript支持,其中包括非侵入式JavaScript、jQuery驗證和JSON綁定
    • 支持NuGet,可以用來發布軟件,管理整個平臺的依賴
  • 12年9月,ASP.NET MVC4正式發布,新增功能主要包括:
    • ASP.NET Web API
    • 增強了默認的項目模板
    • 添加使用jQuery Mobile的手機項目模板
    • 支持顯示模式(Display Mode)
    • 支持異步控制器的任務
    • 捆綁和微小(minification)
  • 2013年10月,ASP.NET MVC5與Visual Studio 2013一起發布,下面列出了一些主要特征:
    • One ASP.NET
    • 新的Web項目體驗
    • ASP.NET Identity
    • Bootstrap模板
    • 特性路由
    • ASP.NET基架
    • 身份驗證過濾器
    • 過濾器重寫

創建ASP.NET MVC5應用程序

本節主要講解如何使用Visual Studio快速創建ASP.NET MVC5應用程序,所有截圖均使用Visual Studio 2015,步驟如下:

  1. 選擇File|New|Project選項。
  2. 在New Project對話框左側的Installed|Templates|Visual C#列表下,選中Web選項,選擇ASP.NET Web Application,將應用程序命名為MyFirstMvcProject,點擊OK按鈕。
    技術分享
  3. 在彈出的New ASP.NET Project對話框中,選中MVC模板,點擊OK按鈕。
    技術分享
  4. 至此,一個新的MVC項目已經創建完成,在應用程序根目錄下包含Project_Readme.html文件,創建項目時將自動顯示這個文件。
    技術分享

ASP.NET MVC應用程序結構

新的MVC項目創建完成後,會自動向這個項目中創建一些目錄,下表介紹了這些目錄的主要用途。

目錄用途
App_Data 用於存儲想要讀取/寫入的數據文件
App_Start 用於保存一些功能的配置代碼
Content 用於保存CSS、圖像和其他站點內容
Controllers 用於保存處理URL請求的控制器類
fonts 用於保存Bootstrap模板系統包含的一些自定義Web字體
Models 用於保存表示和操縱數據以及業務對象的類
Scripts 用於保存JavaScript庫文件和腳本
Views 用於保存負責呈現輸出結果的UI模板文件

ASP.NET MVC的約定

在默認情況下,ASP.NET MVC應用程序對約定的依賴性很強,這樣就避免了開發人員配置和指定一些項,因為這些項可以根據約定來推斷。這個概念通常被稱為“習慣優於配置(convention over configration)”
ASP.NET MVC對於程序結構的約定如下:
  1. 每個Controller類的名字以Controller結尾,保存在Controller目錄中。
  2. 應用程序的所有視圖放在單獨的Views目錄下。
  3. 控制器使用的視圖是在Views主目錄下的,與控制器名稱相同的子目錄中。

總結


本章為此系列的第一篇,主要介紹了ASP.NET MVC的總體結構、發展歷程以及如何在Visual Studio中快速創建一個ASP.NET MVC應用程序。下一篇,將詳細介紹控制器、視圖以及模型等相關內容。

ASP.NET MVC5(一):ASP.NET MVC概覽