初識(shí)Asp.Net MVC2.0【續(xù)】
之前寫了點(diǎn)Asp.Net MVC的概念,沒有實(shí)際上系統(tǒng)的介紹Asp.Net MVC開發(fā)方式與WebFrom 開發(fā)方式的區(qū)別。昨晚上看了訪問自己blog的入口的搜索關(guān)鍵詞大部分是沖著MVC來的,就有了沖動(dòng)將自己淺薄的知識(shí)寫在這里,供初學(xué)者有個(gè)淺顯的認(rèn)識(shí)。歡迎高手拍磚指導(dǎo),希望能把一篇入門的文章寫的盡善盡美。
WebFrom的一個(gè)事件開發(fā)模型
瀏覽者發(fā)送一個(gè)url請(qǐng)求,如果不在使用url重寫機(jī)制或靜態(tài)化技術(shù)的話,url請(qǐng)求的是具體一個(gè)xx.aspx頁面。iis將url請(qǐng)求交給.Net Freamwork處理,這時(shí)經(jīng)過復(fù)雜的Asp.Net生命周期 到執(zhí)行我們 xx.aspx.cs文件,我們?cè)诖a文件中編寫一些調(diào)用業(yè)務(wù)邏輯層處理數(shù)據(jù)的代碼,然后再將處理的結(jié)果返回一個(gè)新的視圖ViewPage交給視圖引擎將aspx模板替換成具體的html標(biāo)簽裝配成html然后寫回客戶端。如下圖所示這個(gè)流程:

在WebFrom中我們由于ViewState幫助可以實(shí)現(xiàn)事件開發(fā)模型,但是aspx和asxp.cs之間這種codebehind技術(shù)并沒有實(shí)現(xiàn)完全的代碼和視圖的分離,我們后臺(tái)代碼還是去控制view視圖具體的顯示邏輯,還是存在一個(gè)強(qiáng)的耦合。
Asp.Net MVC開發(fā)模型
在Asp.Net MVC中“請(qǐng)求——處理——響應(yīng)”的模型變得更加的簡(jiǎn)單和分離的很好。View和Controller之間不再有強(qiáng)的耦合,而且頁面沒有復(fù)雜的生命周期,交給我們開發(fā)者就是一個(gè)簡(jiǎn)單的請(qǐng)求處理響應(yīng)模型,非常的清爽。
用戶的請(qǐng)求→IIS→.Net Freamwork→Route【.Net Freamwork 4.0 版本提供的Url路由組件】→Controller【控制器:處理用戶的請(qǐng)求,從model中獲取數(shù)據(jù),并將數(shù)據(jù)交給View】→View→視圖引擎【將數(shù)據(jù)裝配到視圖中,并生成新的html】→客戶端
如下圖所示Asp.Net MVC的開發(fā)模型:

看一下一個(gè)普通的Asp.Net MVC項(xiàng)目的項(xiàng)目:

希望這篇簡(jiǎn)單的開發(fā)模型的介紹能對(duì)你學(xué)習(xí)Asp.Net MVC有所幫助。也歡迎高手有什么意見或我哪地方說的不正確進(jìn)行拍磚讓我及時(shí)改正。
初識(shí)Asp.Net MVC2.0
初識(shí)Asp.Net MVC2.0【續(xù)】
Asp.Net MVC2.0 Url 路由入門---實(shí)例篇
Asp.Net MVC3 簡(jiǎn)單入門第一季(一)環(huán)境準(zhǔn)備
Asp.Net MVC3 簡(jiǎn)單入門第一季(二)詳解Asp.Net MVC3項(xiàng)目

浙公網(wǎng)安備 33010602011771號(hào)