在ScriptBundle中包含Feature文件夹中的脚本

时间:2018-01-10 21:16:51

标签: c# .net asp.net-mvc scriptbundle webgrease

我试图包含不属于MVC Web项目中包含的原始〜/ Scripts文件夹的js文件。而是我在我的Feature文件夹中有我的脚本文件,如:〜/ Features / MyNewFeature / Scripts

然而,在运行应用程序时,当请求找到那些js文件时,我只得到404错误。我不确定我错过了什么,或者是否需要添加一些东西才能使其发挥作用。我知道我已经读过js文件必须在Scripts文件夹中,但我很难相信,因为在/ Views文件夹中没有你的cshtml文件。< / p>

 bundles.Add(new ScriptBundle("~/bundles/mynewfeature")
                  .Include("~/Features/MyNewFeature/Scripts/Settings.js"));

然后用cshtml渲染:

 @Scripts.Render("~/bundles/mynewfeature")

1 个答案:

答案 0 :(得分:0)

因此,当/ Views Web.config移动到Features文件夹后,问题首先出现。为了解决这个问题,我能够添加一个明确允许js文件的新处理程序。

  <system.webServer>
    <handlers>
      <remove name="BlockViewHandler" />
      <add name="JavaScript" path="*.js" verb="GET, HEAD" type="System.Web.StaticFileHandler" />
      <add name="BlockViewHandler" path="*" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler" />
    </handlers>
  </system.webServer>