天天看點

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如何配置才能通路靜态頁面