移除apsx視圖引擎,及View目錄下的web.config的作用

來源:互聯網
上載者:User

標籤:ati   soft   register   設定檔   sdn   泛型類   add   檔案中   .com   

<>

使用Rezor視圖引擎的時候移除apsx視圖引擎

Global.asax檔案

using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.Http;using System.Web.Mvc;using System.Web.Routing;namespace MvcApp{    // 注意: 有關啟用 IIS6 或 IIS7 傳統模式的說明。    // 請訪問 http://go.microsoft.com/?LinkId=9394801    public class MvcApplication : System.Web.HttpApplication    {        protected void Application_Start()        {            AreaRegistration.RegisterAllAreas();            WebApiConfig.Register(GlobalConfiguration.Configuration);            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);            RouteConfig.RegisterRoutes(RouteTable.Routes);            //尋常我們一般用Razor視圖引擎,所以就沒有必要要MVC再去尋找aspx視圖引擎。所以能夠將aspx視圖引擎移除掉。這樣每次載入視圖的時候就會快一點(由於每次載入視圖的時候都去尋找aspx視圖引擎是要耗效能的。我們能夠建立一個Home控制器,不給它建立Index視圖,當我們訪問/Home/Index的時候,就會提示找不到視圖,我們能夠看到MVC去尋找了aspx和Razor視圖後。沒有找到。就會報找不到視圖的錯誤)            //為什麼要把移除視圖引擎的代碼寫在這個Global.asax檔案裡呢?那是由於網站啟動,我就先將它移除。            //移除aspx視圖引擎              //ViewEngines.Engines.RemoveAt(0);            //這個是一次Razor視圖引擎            //ViewEngines.Engines.RemoveAt(1);        }    }}


在MVC項目中,我們發現有view視圖裡面也有一個web.config設定檔,那麼這個設定檔是幹什麼的呢?

我們看到的視圖。本質上就是一個前端類,它會在我們的視圖引擎第一次找到它的時候將它編譯成一個前端頁面類,編譯完後。就須要將這個前端頁面類繼承一個webViewPage<TModel>的泛型類,或者WebViewPage類  (注:WebViewPage類是webViewPage<TModel>類的父類)

(看了以下的代碼後。我們就會發現視圖編譯完後產生的前端頁面類的父類就是在View目錄以下的這個web.config檔案中指定的)

我們開啟這個web.config檔案就能夠看到裡面就有這麼一段

    <pages pageBaseType="System.Web.Mvc.WebViewPage">      <namespaces>        <add namespace="System.Web.Mvc" />        <add namespace="System.Web.Mvc.Ajax" />        <add namespace="System.Web.Mvc.Html" />        <add namespace="System.Web.Routing" />      </namespaces>    </pages>
假設我們將這個View目錄中的web.config檔案刪除後,就會爆以下這段錯誤


我們訪問一個視圖頁面。比如/Home/Index的時候。視圖引擎就會編譯這個Index視圖。當編譯的時候會發現,找到了視圖,它不知編譯完的這個前端頁面類的父類究竟是誰


所以得出結論:View目錄以下的web.config檔案的作用是告訴視圖引擎怎樣編譯視圖的前台頁面類。以及制定當前頁面類的父類為WebViewPage

這個web.config裡面的配置不須要我們手動的更改不論什麼東西,也不能刪除


移除apsx視圖引擎,及View目錄下的web.config的作用

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.