天天看点

MVC中如何在Views目录下存放css,js,html文件的解决方案

最近在做一套网站系统,需要管理员能够自己切换网站显示的风格,(更换前台模板),自己在参考这篇文章实现了模板自定义更换,   http://www.cnblogs.com/zuowj/p/4977193.html 但是css,js 文件放到view目录下就访问不了,后台参考了下面两篇博客,总于解决了问题。

MVC中如何在Views目录下存放css,js,html文件的解决方案

默认情况下Views目录下是不能访问除了视图文件之外的文件的

解决方法:

在Views目录下的Web.config中添加如下节点信息

<system.webServer>
		<validation validateIntegratedModeConfiguration="false" />
		<handlers>
			<remove name="BlockViewHandler"/>
			<add name="js" verb="GET,HEAD" path="*.css" type="System.Web.StaticFileHandler" />
			<add name="css" verb="GET,HEAD" path="*.css" type="System.Web.StaticFileHandler" />
			<add name="jpg" verb="GET,HEAD" path="*.jpg" type="System.Web.StaticFileHandler" />
			<add name="png" verb="GET,HEAD" path="*.png" type="System.Web.StaticFileHandler" />
			<add name="js" verb="GET,HEAD" path="*.js" type="System.Web.StaticFileHandler" />
			<add name="BlockViewHandler" path="*" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler" />
		</handlers>
	</system.webServer>
           

我之前的错误原因就是把对js,css访问配置信息加到了《system.web》下。

MVC入门 注意VIEWS下JS CSS文件需要修改配置

下面这篇讨论很精彩啊,原本我以为是mvc BUG呢,后来到有人已经实现了,既然别人能实现,那肯定就行自己的问题了

MVC如何配置才能访问静态页面