我可以在.net 4 Asp.Net Web应用程序中使用Bundling [Bundle.Config]

时间:2014-01-08 08:29:08

标签: javascript bundle asp.net-4.0 bundling-and-minification

我的应用程序位于.Net framework 4.它是一个Asp.Net Web Application.i需要使用Bundle.Config才能使用Bundling功能。

我已经阅读了很多文档,说它是.Net框架4.5中的功能,以及Asp.Net MVC应用程序中的功能。

我需要在aspx页面中为Scripts创建一个包。 我可以在我的文件中包含Bundle.Config,以便Bundling工作。

3 个答案:

答案 0 :(得分:12)

是的,您可以在ASP.net中使用捆绑4.使用Nuget Package ManagerMicrosoft ASP.Net Web Optimization Framework安装到您的项目中。然后在global.asax中注册Application_Start方法中的包。像这样的东西 -

    var jqueryBundle = new ScriptBundle("~/Scripts/jquery");
    jqueryBundle.Include(new string[] { 
        "~/Scripts/jquery-1.8.3.js",
        "~/Scripts/jquery-ui-1.9.1.custom.min.js",
        "~/Scripts/jquery-ui-timepicker-addon.js",
        "~/Scripts/jquery.validate.js",
        "~/Scripts/jquery.validate-additional-methods.js"
    });

    BundleTable.Bundles.Add(jqueryBundle);

然后在aspx页面或masterpage调用捆绑包 -

    <%= System.Web.Optimization.Scripts.Render("~/Scripts/jquery") %>

答案 1 :(得分:3)

通过一对试验和阅读捆绑,我找到了解决方案

从NuGet包管理器安装Web Optimizer框架,解决方案包括以下文件中的System.Web.Optimization,即使在Apsx文件中也是如此。

Application_StartUp()中的

 var bundles = BundleTable.Bundles;
 bundles.UseCdn = true;   //enable CDN support
 var jqueryCdnPath = "http://code.jquery.com/jquery-1.9.1.js";
 var jQueryUICdnPath = "http://code.jquery.com/ui/1.10.3/jquery-ui.js";
 bundles.Add(new ScriptBundle("~/bundles/jquery",jqueryCdnPath)); 
 bundles.Add(new ScriptBundle("~/bundles/jqueryui", jQueryUICdnPath)); 

在Aspx页面中:

  <script src="<%=BundleTable.Bundles.ResolveBundleUrl("~/bundles/jqueryui")%>" type="text/javascript"></script>
  <script src="<%=BundleTable.Bundles.ResolveBundleUrl("~/bundles/jquery")%>" type="text/javascript"></script>

〜/ bundles / jqueryui:用于UI java脚本 〜/ bundles / jquery:用于功能java脚本。

答案 2 :(得分:0)

  1. 在参考
  2. 中添加dll文件WebGrease.dll
  3. 在global.asax

    中添加js和css的Bellow代码

    dynamic solutioncss = new System.Web.Optimization.StyleBundle(&#34;〜/ bundles / solutionDetailCSSBundle&#34;); solutioncss.Include(&#34;〜/ Style.css&#34;,new CssRewriteUrlTransform()); solutioncss.Include(&#34;〜/ incs / highslide / highslide.css&#34;,new CssRewriteUrlTransform()); solutioncss.Transforms.Add(new CssMinify()); System.Web.Optimization.BundleTable.Bundles.Add(solutioncss);

    dynamic HeaderLinkBundle = new System.Web.Optimization.ScriptBundle(&#34;〜/ bundles / HeaderLinkBundle&#34;); HeaderLinkBundle.Include(&#34;〜/ JS /的jquery.js&#34); HeaderLinkBundle.Include(&#34;〜/ JS / headerlink.js&#34); HeaderLinkBundle.Transforms.Add(new JsMinify()); System.Web.Optimization.BundleTable.Bundles.Add(HeaderLinkBundle);

    System.Web.Optimization.BundleTable.EnableOptimizations = true;

  4. 将此css和js包添加到aspx页面。