一、ASP.NET MVC簡介
1、爲什麼需要MVC設計模式(ASP.NET WebForm的缺點)
1)後端程序邏輯與前端UI高耦合
2)視圖狀態管理等機制導致網絡帶寬佔用增加
2、適用場景:
1) ASP.NET WebForm適用於基於局域網的web應用程序(ERP, HR, CRM等企業內部管理系統)
2) ASP.NET MVC適用於基於因特網、高併發的中、大型web應用程序(門戶網站、電商等)
3、主要概念:
1)組成:Model(模型)、View(視圖)和Controller(控制器)
Model:模型是實現應用程序數據域邏輯的應用程序組件
View:視圖是顯示應用程序用戶界面 (UI) 的組件。
Controller:控制器是處理用戶交互、使用模型並選擇視圖來顯示界面的組件。
2)作用:用戶接口和邏輯層相互分離,以便開發人員更好地關注邏輯層的設計和測試,並使整個程序具備清晰的架構
3) MVC執行流程:瀏覽器請求->控制器->模型->視圖->顯示結果
二、創建ASP.NET MVC應用程序
1、步驟:
1)打開VS菜單“文件”-“新建”-“項目”
2)選擇“ASP.NET Web應用程序(.NET Framework)”
3)選擇項目模板“MVC”
2、ASP.NET MVC 應用程序包含的默認文件和目錄:
App_Data:數據的物理存儲區,即本地化的數據庫文件或數據文件。
App_Start:包含多個靜態配置類,執行應用程序的初始化任務
Content:放置應用程序的靜態內容,如CSS、可下載的文件及音樂文件等
Controller:放置控制器文件。控制器文件是後綴名爲.cs或.vb的類文件
Models:放置數據模型對象的文件,如.cs、.vb、.edmx和.dbml等
Scripts:放置JavaScript、jQuery文件,文件後綴名通常爲.js
Views:放置視圖文件,文件後綴名爲.cshtml或.aspx
Web.config:應用程序配置文件
三、控制器基礎
1、主要概念:
1)控制器類名須由Controller結尾。
2)控制器類的基類是Controller類。
3)控制器必須包含至少一個返回值爲ActionResult類型的public方法,這類方法稱爲操作(Action)方法。
2、步驟:
1)選中Controllers目錄右鍵單擊Controllers目錄,選擇“添加”-“控制器”
2)選擇“MVC 5控制器–空”基架模板
3)將控制器重命名,如:MyFirstController
4)右鍵單擊MyFirstController類的Index()方法,選擇“添加視圖”彈出“添加視圖”對話框
5)運行項目
四、視圖
1、視圖基架類型:
Create、Delete、Details、Edit、Empty、Empty(without model)、List
2、模板頁面:_ViewStart.cshtml
1)該文件默認位置:/Views/_ViewStart.cshtml
2)_ViewStart.cshtml的特點是“預加載”
3)作用域:對當前目錄和當前目錄下的所有子級目錄生效。
4)存放位置:如果需要對整個模板文件生效,可以直接放在Views目錄下,如果只對某個控制器生效,可以放在控制器對應的目錄中。
3、模板頁面:_Layout.cshtml
1)該文件默認位置:/Views/Shared/_Layout.cshtml
2)_Layout.cshtml通常稱爲“佈局頁”、“母版視圖”、“模板頁”
3)_Layout.cshtml有兩段特別的Razor聲明:
RenderBody:“body佔位符”的作用。子視圖頁面的所有內容默認填入到_Layout.cshtml的@RenderBody所在位置
RenderSection:作用是“塊佔位符”。將子頁面中定義的代碼塊填入到_Layout.cshtml的@ RenderSection所在位置