學習筆記(一)——MVC擴展


                            

1、視圖引擎的作用,總結為兩點:

查找視圖 渲染視圖

ViewEngine即視圖引擎, 在ASP.NET MVC中將ViewEngine的作用抽象成了 IViewEngine 接口。

默認情況下,ASP.NET
MVC提供了兩個視圖引擎:WebFormViewEngine和RazorViewEngine。他們都是抽象類型BuildManagerViewEngine的子類,而后者又繼承自VirtualPathProviderViewEngine。
VirtualPathProviderViewEngine又繼承了IViewEngine

2、為什么要對視圖引擎進行擴展?

從皮膚機制來說,如果頁面是通過Theme來控制布局,通過Appearances來控制樣式。不同的Theme可以重新定義Layouts和View,也就是說,我們在換膚的時候,可以只更改頁面的樣式,也可以更改頁面的Theme,但是更改Theme的話,我們的頁面有可能也會發生改變。

皮膚機制在設計的時候提到,要考慮到平台功能(呈現區域),不考慮應用。也就是說,應用中的頁面沒有換膚這一概念,而呈現區域又分為用戶空間(UserSpace)、群組(GroupSpace)、后台( ControlPanel )和頻道( Channel )這4種,他們是彼此獨立的呈現區域,可以獨立設置自己的皮膚、導航等。所以我們的目錄在設計的時候,是根據呈現區域來划分的。

但是在應用中,我們不允許他的頁面影響我們的外觀和背景,他的樣式和布局是按照我們設置的皮膚的樣式和布局來的,也就是說,我們應用的頁面只有一份,不存在變換主題,應用頁面的樣式和布局也跟着平台的皮膚變化而變化。而且應用中的頁面存放路徑與平台的頁面存放也會有差異。

通過查看MVC提供的視圖引擎的構造函數,我們發現它的尋址路徑並不支持我們的皮膚機制,為了解決這一問題,我們重寫了視圖引擎。

分享視頻鏈接幾學習地址:http://www.chuanke.com/6202018-166987.html

                              


注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2021 ITdaan.com