2015-04-22 66 views
1

我從零開始創建網站,並使用了MVC模式。〜/ Views/Web.config及其內容

〜/ Web.config有一些DLL的程序集引用,但是〜/ Views/Web.config是什麼?是的,這個文件阻止了對控制器等的訪問,但是這個文件正在添加命名空間(以及更多的東西)。爲什麼這是必要的?

<?xml version="1.0"?> 
<configuration> 
    <configSections> 
    <sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"> 
     <section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" /> 
     <section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" /> 
    </sectionGroup> 
    </configSections> 

    <system.web.webPages.razor> 
    <host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.2.2.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 
    <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.Optimization"/> 
     <add namespace="System.Web.Routing" /> 
     <add namespace="WebApplication4" /> 
     </namespaces> 
    </pages> 
    </system.web.webPages.razor> 

    <appSettings> 
    <add key="webpages:Enabled" value="false" /> 
    </appSettings> 

    <system.webServer> 
    <handlers> 
     <remove name="BlockViewHandler"/> 
     <add name="BlockViewHandler" path="*" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler" /> 
    </handlers> 
    </system.webServer> 
</configuration> 
+0

你見過這個:http://stackoverflow.com/questions/6204341/what-does-the-web-config-file-do-in-the-views-folder-of-a-mvc-project –

+0

名稱空間是剃鬚刀頁面默認設置的名稱空間。 –

回答

0

它設置基本頁面類型:

<pages pageBaseType="System.Web.Mvc.WebViewPage"> 

沒有上面的線,你就必須把它放在這樣每個視圖:

@inherits System.Web.Mvc.WebViewPage 

WebViewPage有類似性質將MVC與Razor整合在一起的HtmlUrl

+0

不錯! 什麼是 Joe

+0

@Joe它使MVC的定製Razor解析器,它擴展了Razor,例如'@ model'指令。 –