MVC 中带有 JavaScript 文件的 404

rya*_*ler 3 asp.net-mvc

我无法让我的页面使用我的 javascript 文件。我的 Areas/Export/Views/Export 文件夹中有该文件,它名为 Export.js

这就是我在我看来引用它的方式

<script src="@Url.Content("~/Areas/Export/Views/Export/Export.js")"></script>
Run Code Online (Sandbox Code Playgroud)

我在网上看到的一切都说这应该有效,但事实并非如此。我是否错过了其他地方的参考资料或交易是什么?

谢谢

hey*_*ega 5

问题是您将 js 文件存储在视图文件夹中。视图文件夹有它自己的 web.config,它阻止你从它请求静态文件。

您的选择

  1. 修改 web.config 允许 js 文件通过
  2. 将您的 js 文件移出视图文件夹。
  3. 使用 MVC 捆绑,它应该能够访问视图文件夹并将脚本捆绑到不同的存储库中。

在我看来,第 2 条是最佳实践。是否有特殊原因让您在视图文件夹中开始使用脚本?

更新

要在您的视图文件夹中允许 js 文件,请将以下内容添加到位于您所在区域的视图文件夹中的 web.config。

<system.webServer>
<handlers>
  <add name="JavaScriptHandler" path="*.js" verb="*"
     preCondition="integratedMode" type="System.Web.StaticFileHandler" />      
  <remove name="BlockViewHandler"/>
  <add name="BlockViewHandler" path="*" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler" />
</handlers>
</system.webServer>
Run Code Online (Sandbox Code Playgroud)