未呈现MVC 4中的自定义包

我正在研究ASP.NET MVC 4应用程序。 我想制作自己的包含.js文件的包,我将用它进行验证,但由于某种原因,它不起作用。 只要提及 - 如果我将所有脚本渲染到给定的视图中,那么一切工作都很好,如:

@Scripts.Render("~/Scripts/jquery-1.7.1.min.js")
@Scriptes.Render("~/Scripts/jquery.validate.min.js")
//..few more files

但我不想每次都包含所有这些脚本,所以我决定制作自己的包。 我所做的步骤是:

  • BundleConfig.cs我有这样的:
  • 公共静态无效RegisterBundles(BundleCollection包)

    {

    //默认包

    bundles.Add(新的ScriptBundle(“〜/ bundles / customval”)。Include(

        "~/Scripts/jquery-1.7.1.min.js",
        "~/Scripts/jquery.validate.min.js",
        "~/Scripts/jquery.unobtrusive-ajax.min.js",
        "~/Scripts/jquery.validate.unobtrusive.min.js"));
    

    }

    然后我检查我的Global.asax ,我有这个:

    BundleConfig.RegisterBundles(BundleTable.Bundles);

    然后在我看来我只是尝试:

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

    FireBug说这个页面没有加载JavaScript。

    我使用自定义_Layout页面,我不知道是否需要添加一些东西。 我补充说:

    @RenderSection("scripts", required: false)
    

    在我的_Layout但它似乎并没有解决一些问题。 那么,我错过了什么让我的捆绑工作?


    您可能正在DEBUG模式下运行。 在这种模式下.min.js文件被忽略(因为它们只用于生产使用)。

    最好是包含非缩小(有时后缀为.debug.js )版本,然后在RELEASE模式下,Optimization Framework将自动捆绑并为您缩小(除非另有指定)。


    我不得不补充:

    BundleTable.EnableOptimizations = false;
    

    在RegisterBundles方法的末尾。 在我年事已高的时候:)我不记得具体到底是什么问题,但是如果内存为我提供了正确的答案,那么它必须处理.min文件并进行调试。

    @RenderSection(“scripts”,required:false)允许您在每个视图中定义一个特殊的脚本部分(在您的情况下是可选的),并使其在每个使用_layout文件的页面中的相同位置呈现。

    链接地址: http://www.djcxy.com/p/67979.html

    上一篇: Custom bundle in MVC 4 is not rendered

    下一篇: How to force BundleCollection to flush cached script bundles in MVC4