我已将我的一些View的javascript重构为.js文件和视图(不在根目录下的Scripts文件夹中)。
默认情况下,视图的web.config中的处理程序会停止加载这些处理程序:
<add name="BlockViewHandler" path="*" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler"/>
但是,我想覆盖它以允许浏览器从此位置请求.js文件。
有谁知道我该怎么做?
谢谢, 标记
答案 0 :(得分:2)
我想我会将脚本留在脚本位置,但如果你想移动它们,你可以执行以下操作:
在视图下的web.config文件的顶部查找
<httpHandlers>
<add path="*" verb="*"
type="System.Web.HttpNotFoundHandler"/>
</httpHandlers>
并将其替换为以下内容:
<httpHandlers>
<add path="*.aspx" verb="*"
type="System.Web.HttpNotFoundHandler"/>
<add path="*.master" verb="*"
type="System.Web.HttpNotFoundHandler"/>
<add path="*.ascx" verb="*"
type="System.Web.HttpNotFoundHandler"/>
</httpHandlers>
您需要添加要阻止的每种文件类型的扩展名。
答案 1 :(得分:1)
您可以将路径属性更改为比“*”(所有内容)更全面的内容,但为什么要与框架的约定作斗争? Views文件夹旨在(仅)组织视图文件,并且特别是 not 意味着可以直接从外部访问。您有什么理由不能将这些脚本文件放在应用程序的其他位置吗?