网页的功能是啥:在 MVC 3 web.config 中启用

Posted

技术标签:

【中文标题】网页的功能是啥:在 MVC 3 web.config 中启用【英文标题】:what is the function of webpages:Enabled in MVC 3 web.config网页的功能是什么:在 MVC 3 web.config 中启用 【发布时间】:2011-06-20 15:24:52 【问题描述】:

我刚刚开始了一个新的 MVC 3 项目。谁能告诉我是什么

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

在我的 web.config 文件中有吗?

【问题讨论】:

blogs.msdn.com/b/marcinon/archive/2011/01/13/… 如果设置了此项并且您尝试浏览 .chstml 文件,请注意会发生什么情况会很有帮助。您收到错误“未提供此类页面”。花了几个小时在这个上:/ ***.com/questions/12533605/… 【参考方案1】:

webPages:enabled 的值为 false 可防止从 Web 浏览器直接访问 Views 文件夹中的 .cshtml.vbhtml 文件。

【讨论】:

实际上它可以防止它们被直接访问,无论它们位于应用程序中的哪个位置。在视图文件夹中,在根目录中,在不同的文件夹中......没关系,您会遇到相同的错误。 The type of page you have requested is not served because it has been explicitly forbidden 这不是“BlockViewHandler”配置的用途吗?有什么区别? 抱歉,在 Mono 上运行 Nancy 项目,此设置通过 nuget 出现。所以我想知道,这是 IIS 的事情,MVC 3 的事情,还是堆栈的哪一部分实际使用了这个设置? 默认情况下我不允许查看视图,但如果我添加此设置并将其设置为 false,它们现在会被解析并尝试查看。 WebPages:Enabled 无论值为true还是false都启用,默认值为null。【参考方案2】:

根据文档,它可以防止直接访问 .cshtml 和 .vbhtml 文件(例如www.myweb.com/views/home/index.cshtml

【讨论】:

我一直在搜索,但找不到对此进行解释的参考。我特别想知道的是完全省略&lt;add key="webpages:Enabled" value="???"&gt; 的效果是什么。默认是true 还是false 所以我已经深入研究了源代码,默认值实际上是null - 这意味着如果应用程序包含任何*.cshtml*.vbhtml 文件,则启用网页。可以通过将此值设置为truefalse 来禁用检查文件。你可以自己看看here。 根据哪个文档?【参考方案3】:

要允许提供 Razor 页面,仅设置 &lt;add key="webpages:Enabled" value="true" /&gt; 是不够的。您还需要使用 NuGet 将 Microsoft.AspNet.WebPages 包添加到 packages.config

【讨论】:

以上是关于网页的功能是啥:在 MVC 3 web.config 中启用的主要内容,如果未能解决你的问题,请参考以下文章

asp.net mvc是啥概念

网页HTML的基本结构是啥?

对MVC模式的理解是啥?

@produces在spring mvc中是啥意思

mvc是啥,有啥用

MVC模型中Controller的作用是啥?