我很早之前就開始接觸.net開發,一直都在2.0的框架下,所以對於mvc這種架構,聽說過,但沒有具體使用過,近期和外部朋友接觸時,有了解到他們公司在使用mvc這種架構,所以自己就找來相關資料了解一下mvc是什麼。
mvc代表著」model」、」view」、」controller」 。asp.net mvc是一種與傳統asp.net web開發不同的架構。使用mvc開發的web應用程式,對搜尋引擎更加友好。
使用mvc模式開發,需要microsoft .net framework 3.5以上的框架。
mvc是如何與瀏覽器進行互動的
和普通的web伺服器互動一樣,mvc程式使用一樣的方式接受請求並返回資訊給到瀏覽器。
mvc架構內部
完整的asp.net mvc架構是基於microsoft .net framework 3.5,另外還使用linq。
model是什麼?
1. mvc model基本上就是乙個c#或者vb.net的類。
2. model將同時被controller和view訪問。
3. model被controller用來傳輸資料給到view層。
4. view層將使用model來在頁面上顯示資料。
view是什麼?
1. view層主要都是一些aspx頁面檔案,他們不包括後台**。
2. 在view層中可以對所有的頁面,進行html生成和格式化。
3. 可以在view層中使用內聯**,進行動態頁面開發。
4. view層中的aspx頁面的請求,只能呼叫controller中的方法。
controller是什麼?
1. controller基本上都是一些繼承了system.mvc.controller的c#或者vb.net的類。
2. controller是整個mvc架構的核心。
3. 在controller類中的方法都是用來相應瀏覽器或者view層的請求。
4. controller將使用model層來向view層的頁面傳輸資料。
5. controoler使用viewdata來傳輸任何資料給到view層。
mvc檔案結構和檔案的命名規範。
mvc程式開發中,使用標準的檔案目錄結構和檔案命名標準是非常重要的。
在程式的根目錄,必須要有3個目錄,分別是model, view 和 controller。
與普通的asp.net程式一樣,這三個目錄之外,根目錄下面也必須有乙個global.asax檔案和乙個web.config檔案。
asp.net mvc的執行生命週期
下面是乙個mvc架構程式如何執行瀏覽器的請求。
下面圖形所涉及到的每一步執行的說明。
第一步,瀏覽器請求。
使用者在瀏覽器中,輸入乙個**:這時候就產生乙個瀏覽器請求。
第二步,global.asax的作用,mvc路由。
所以中,我們將得到:
l 控制器:home
l 方法:index()
l id:空
第三步,controller層與呼叫方法。
現在mvc將在controller目錄下查詢home控制器的類。乙個控制器類中包含不同的方法。
類中可以包含乙個以上的方法,但是mvc只會請求從url中解發布來的方法,在這裡就是index()方法。
呼叫這個方法後,將返回純字串或者將被view層展示的html**。
第四步,呼叫view層。
呼叫view將返回view()。呼叫view層,將會訪問view目錄下指定的aspx頁面,並且生成將要返回給瀏覽器的html**。
在這個例子中,控制器是home,方法是index()。所以呼叫view()將會從/views/home/index.aspx中返回乙個html**。
到這裡,整個執行流程結束。這就是乙個mvc架構如何工作的。
相關站點
· asp.net mvc 開發者中心
· asp.net mvc framework 官方論壇
· asp.net mvc framework 文件
· asp.net mvc contrib 提供msmvc的擴充套件
MVC架構理解
m 模型model,理解成 資料 即可,可以是sql出來的資料。v 檢視view,一般就html 和json 兩種 c 控制器controller 活動actions 很多個action action 就是一次http 網路請求 就是乙個url 網域名稱 user adduser 網域名稱 user...
理解 MVC架構
mvc架構 發表日期 2020.5.12 趙路倉摘要 mvc架構將業務邏輯聚集到乙個部件裡面,在改進和個性化定製介面及使用者互動的同時,不需要重新編寫業務邏輯。mvc被獨特的發展起來用於對映傳統的輸入 處理和輸出功能在乙個邏輯的圖形化使用者介面的結構中。引 言mvc架構是模型 model 檢視 vi...
三層架構與MVC 個人理解
三層架構主要分為表示層 ui 業務邏輯層 bll 以及資料訪問層 dal 三層架構主要是為了實現高內聚低耦合效果。主要是可以使得我們寫的 可以只關注於結構中的某一層,思路更加清晰,有利於 的復用性。例如我最近的寫的乙個專案中,當dal層寫好後,絕大部分情況都不需要對其進行修改,這種架構便於我們對於程...