Val*_*mas 12 routes asp.net-mvc-3
我正在尝试将我的javascript文件放在我的视图中.
我有以下js文件位置./Views/Home/Home.js
但是,当使用脚本标记引用时,会导致404错误.
根据以下SO问题:ASP.NET MVC - 如果您不想将它们存储在/ Scripts中,您在哪里放置.js文件?
我将file.js添加到我的Register路由中.(没解决问题)
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{file}.js");
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
}
Run Code Online (Sandbox Code Playgroud)
如何在我的视图旁边存储和引用我的js文件?
goe*_*ing 27
问题是,出于安全原因,Views文件夹中的web.config阻止对该文件夹中文件的所有请求.这是您将在配置文件中找到的内容:
<httpHandlers>
<add path="*" verb="*" type="System.Web.HttpNotFoundHandler"/>
</httpHandlers>
Run Code Online (Sandbox Code Playgroud)
对于IIS7:
<handlers>
<remove name="BlockViewHandler"/>
<add name="BlockViewHandler" path="*" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler" />
</handlers>
Run Code Online (Sandbox Code Playgroud)
解
您可以更改通配符以仅捕获.cshtml文件.
<httpHandlers>
<add path="*.cshtml" verb="*" type="System.Web.HttpNotFoundHandler"/>
</httpHandlers>
Run Code Online (Sandbox Code Playgroud)
<handlers>
<remove name="BlockViewHandler"/>
<add name="BlockViewHandler" path="*.cshtml" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler" />
</handlers>
Run Code Online (Sandbox Code Playgroud)
使用此通配符,不会阻止.js文件.
| 归档时间: |
|
| 查看次数: |
5904 次 |
| 最近记录: |