gpt4 book ai didi

asp.net-mvc-3 - 将js文件放在views文件夹中

转载 作者:行者123 更新时间:2023-12-04 00:06:55 24 4
gpt4 key购买 nike

我正在尝试将我的 javascript 文件放在我的 View 中。

我有以下 js 文件位置。
/ View /主页/Home.js

但是,当使用脚本标记引用时,会导致 404 错误。

根据以下 SO 问题:ASP.NET MVC - Where do you put your .js files if you dont want to store them in /Scripts?

我将 file.js 添加到我的注册路由中。 (没有解决问题)

    public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{file}.js");
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
}

如何在 View 旁边存储和引用我的 js 文件?

最佳答案

问题是,出于安全原因,Views 文件夹中的 web.config 会阻止对该文件夹中文件的所有请求。这是您将在配置文件中找到的内容:

<httpHandlers>
<add path="*" verb="*" type="System.Web.HttpNotFoundHandler"/>
</httpHandlers>

对于 IIS7:


<handlers>
<remove name="BlockViewHandler"/>
<add name="BlockViewHandler" path="*" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler" />
</handlers>

解决方案

您可以更改通配符以仅捕获 .cshtml 文件。
<httpHandlers>
<add path="*.cshtml" verb="*" type="System.Web.HttpNotFoundHandler"/>
</httpHandlers>


<handlers>
<remove name="BlockViewHandler"/>
<add name="BlockViewHandler" path="*.cshtml" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler" />
</handlers>

使用此通配符,.js 文件不会被阻止。

关于asp.net-mvc-3 - 将js文件放在views文件夹中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9626611/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com