剃刀 – 捆绑脚本没有得到渲染

我遇到了使用ASP .NET进行脚本捆绑和缩小的问题
我尝试过在互联网上找到的所有流行解决方案,但仍然遇到同样的问题.

我的BundleConfig.cs看起来像

namespace MYPROJ{
public class BundleConfig
{
    public static void AddDefaultIgnorePatterns(IgnoreList ignoreList)
    {
        if (ignoreList == null)
            return;
        ignoreList.Ignore("*.intellisense.js");
        ignoreList.Ignore("*-vsdoc.js");
        ignoreList.Ignore("*.debug.js",OptimizationMode.WhenEnabled);
        ignoreList.Ignore("*.min.js",OptimizationMode.Whendisabled);
        ignoreList.Ignore("*.min.css",OptimizationMode.Whendisabled);
    }

    public static void RegisterBundles(BundleCollection bundles)
    {
        bundles.IgnoreList.Clear();
        AddDefaultIgnorePatterns(bundles.IgnoreList);

        bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
                    "~/Scripts/jquery-{version}.js"));

…
…

        //bundles.Add(new ScriptBundle("~/Scripts").Include("~/Scripts/jquery.unobtrusive-ajax.min.js","~/Scripts/kendoui/kendo.all.min.js","~/Scripts/kendoui/kendo.comboBox.min.js","~/Scripts/kendoui/kendo.grid.min.js"));
        //bundles.Add(new ScriptBundle("~/Scripts").Include("~/Scripts/kendoui/kendo.all.min"));
        //bundles.Add(new ScriptBundle("~/Scripts").Include("~/Scripts/kendoui/kendo.comboBox.min"));
        //bundles.Add(new ScriptBundle("~/Scripts").Include("~/Scripts/kendoui/kendo.grid.min.js"));            
        bundles.Add(new ScriptBundle("~/Scripts").IncludeDirectory("~/Scripts","*.js").IncludeDirectory("~/Scripts/kendoui","*.js"));

        ……
        BundleTable.EnableOptimizations = true;
    }
}
}

在主视图中:

@Scripts.Render("~/Scripts")

在我运行之后所有这一切,我得到这个标签

<script src="/Scripts?v=ZnxC8dcoc3fJ-hfKQHLiTe19PjJFHwPhwHPUncuBtzE1"></script>

在使用chrome代码检查器时,我发现上述资源的状态代码是状态代码:302 Found和for Scripts /它是状态代码:404 Not Found

而且我也无法通过在视图源中单击来访问脚本文件,因此看起来没有加载任何内容,但是所有文件和目录都正确放置.
仅仅为了信息,我的styleSheets捆绑工作正常.

请帮助谢谢.

解决方法

您不能为您的包提供一个名称,该名称也是现有目录的名称.重命名包或添加/ js以使其正常工作:
bundles.Add(new ScriptBundle("~/Scripts/js").IncludeDirectory("~/Scripts","*.js"));

@Scripts.Render("~/Scripts/js")

任何其他不存在的名称也可以使用,例如

bundles.Add(new ScriptBundle("~/ScriptMonkey").IncludeDirectory("~/Scripts","*.js"));

…假设您没有/ ScriptMonkey目录.

相关文章

这篇文章主要讲解了“WPF如何实现带筛选功能的DataGrid”,文...
本篇内容介绍了“基于WPF如何实现3D画廊动画效果”的有关知识...
Some samples are below for ASP.Net web form controls:(fr...
问题描述: 对于未定义为 System.String 的列,唯一有效的值...
最近用到了CalendarExtender,结果不知道为什么发生了错位,...
ASP.NET 2.0 page lifecyle ASP.NET 2.0 event sequence cha...