MVC4 的視圖引擎

來源:互聯網
上載者:User

標籤:style   blog   class   code   c   tar   

1.MVC返回視圖,結果是ViewResult 類型

 

2.MVC執行返回結果時,會執行 返回結果的 ExecuteResult 方法

此處ActionResult 是抽象方法,執行時,會執行重寫後的方法,即ViewResultBase的ExecuteResult方法;

 

由此可以看出,最後返回視圖時,調用了FindView(),由於此處是抽象方法,最後調用的是 return View() 的 ViewResult 中的FindView() 方法,傳回值 是 ViewEngineResult

3.返回 ViewEngineResult,得到了 視圖引擎,視圖引擎中包含了找到的視圖 (View屬性)

前面只是一個簡略過程,要是覺得看得不清楚,可以對照Reflector 查看,接下來才是主題,MVC視圖預設的載入路徑1.從前面可以看出,視圖引擎 主要是 IViewEngine 這個介面

主要是有兩個 視圖引擎 子類,這就是我們熟悉的Razor和WebForm

我們來看一下,RazorViewEngine 的建構函式

 

是不是感覺很眼熟呢,這就是MVC給我們的 【預設視圖尋找路徑】,如果你想要自己建立一個自訂的檔案夾,讓mvc 能自動去它裡面尋找對應的 視圖:

1.

 

2.清除預設的引擎,添加 自己定義的引擎,在查詢檢視表的時候就可以根據 自訂的檔案夾來尋找了

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.