1、入门教程
https://blog.csdn.net/qq_21419015/article/category/7688363?tdsourcetag=s_pcqq_aiomsg
以下是在学习上面的入门教程时遇到的问题,然后一个个记录的解决办法。 2、MVC?项目为什么有两个web.config文件,如图:
一个在Views下,仅对View起作用;一个在根目录下,对根目录下所有文件起作用。这样做可以起到对View更精细的控制
/Views/Web.config
这不是你的应用程序 Web.Config 文件。 它只包含一个指令指示web服务器不提供任何 *.aspx 文件下/Views ( 因为它们应该由一个控制器呈现,而不是像传统的web forms *.aspx 文件那样直接调用) 。 这里文件还包含使标准 ASP.NET ASPX页面编译器能够正确使用 ASP.NET MVC视图模板的配置。
/Web.Config
这将定义你的应用程序配置。
这来自于 ASP.NET MVC框架
视图目录中的web.Config 有一个重要条目,它阻止直接访问:
<add name=”BlockViewHandler” path=”*” verb=”*” preCondition=”integratedMode” type=”System.Web.HttpNotFoundHandler” />
所以我们不能手动访问?localhost:52081/Views/First/Index.cshtml?这个页面。
默认情况下,mvc是不允许views目录下的文件对外访问的,而静态文件最好也不要放在views目录下!
那在 MVC 项目中,如何访问Views目录下的静态文件?
<!–注意,是system.webServer节点,而非system.web–><system.webServer><handlers> <add name=”JavaScriptHandler” path=”*.js” verb=”*” preCondition=”integratedMode” type=”System.Web.StaticFileHandler” /> <add name=”HtmlScriptHandler” path=”*.html” verb=”*” preCondition=”integratedMode” type=”System.Web.StaticFileHandler” /> <!–以下节点为默认–> <remove name=”BlockViewHandler”/> <add name=”BlockViewHandler” path=”*” verb=”*” preCondition=”integratedMode” type=”System.Web.HttpNotFoundHandler” /></handlers>
?
?
?
?
?
?
?
?
?
68245549