摘要:Web Pages就是原來內(nèi)置于MVC3里面的Razor的剝離。理論上來說,http://ASP.NET可以選擇兩種框架模型,基于頁(yè)面 或者 基于MVC基于頁(yè)面可以選擇 WebForm 作為表現(xiàn)層,也可以選擇 WebPages 作為表現(xiàn)層。同樣的,基于MVC也有這兩種視圖引擎。其實(shí)說白了,表現(xiàn)層是可以獨(dú)立于下面的框架模型的,所以兩兩組合后可以有四種選擇。WebPages 一開始是作為 MVC 的視
Web Pages就是原來內(nèi)置于MVC3里面的Razor的剝離。
理論上來說,http://ASP.NET可以選擇兩種框架模型,基于頁(yè)面 或者 基于MVC
基于頁(yè)面可以選擇 WebForm 作為表現(xiàn)層,也可以選擇 WebPages 作為表現(xiàn)層。
同樣的,基于MVC也有這兩種視圖引擎。
其實(shí)說白了,表現(xiàn)層是可以獨(dú)立于下面的框架模型的,所以兩兩組合后可以有四種選擇。
WebPages 一開始是作為 MVC 的視圖引擎來做的,所以和 WebForms 相比的話,在某些方面在某種意義上來說功能并不完整。但是好在輕量和擁有最便捷的代碼雜湊語(yǔ)法(HTML和代碼混寫)。同時(shí)由于輕量,所以 WebPages 也可以獨(dú)立作為模板引擎來使用。
順便說一下我的 Jumony 也是作為 MVC 的視圖引擎和獨(dú)立處理頁(yè)面兩種模式并存。
做技術(shù)選型的時(shí)候,一般分兩步選擇。
第一步考慮是基于頁(yè)面還是基于MVC,如果你的業(yè)務(wù)邏輯與頁(yè)面緊密相關(guān),不同頁(yè)面之間共性較少,或者說頁(yè)面和頁(yè)面之間差異較大可以以頁(yè)面劃分功能模塊,又或者項(xiàng)目非常小以至于只有一兩個(gè)頁(yè)面。這些情況下可以考慮采用基于頁(yè)面的模型。
然后再選擇表現(xiàn)層框架,如果不需要PostBack的話,就可以考慮WebPages了。
基于頁(yè)面的模式雖然在今天已經(jīng)在逐步退出主流,但我卻也不覺得前途灰暗。其實(shí)說白了任何一個(gè)表現(xiàn)層技術(shù)都可以做成基于頁(yè)面和基于MVC兩種模式,將來也必然是這樣的一種局面。
基于頁(yè)面的模型在構(gòu)建小型網(wǎng)站和以頁(yè)面劃分模塊的網(wǎng)站上是有優(yōu)勢(shì)的。