2015-04-22 73 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'指令。 –