zoukankan      html  css  js  c++  java
  • System.web.optimization 在 Asp.Net WebForm 中应用得注意了

    我们也可以在Asp.Net WebForm项目中去使用Optimization,去处理我们的资源文件,从而起到优化网站性能的效果,前端知识得从小事做起。但是在使用过程中我却发现了下面的问题。

    第一步:新建一个Asp.Net WebForm项目 ,然后 通过NuGet添加Microsoft ASP.NET Web Optimization Framework的引用

     

    第二步:在App_Code中添加BundleConfig.cs

    using System.Web.Optimization;
    
    public class BundleConfig
    {
       public static void RegisterBundles(BundleCollection bundles)
        {
            bundles.Add(new StyleBundle("~/bundles/news.css")
                .Include("~/common/a.css",
                "~/common/b.css"));
    
            bundles.Add(new ScriptBundle("~/bundles/news.js")
                .Include("~/script/a.js",
                "~/script/b.js",
                "~/script/c.js"));
        }
    }

    第三部: 在Global.asax的Application_Start中添加如下代码:

    System.Web.Optimization.BundleTable.EnableOptimizations = true;//是否开启合并
    BundleConfig.RegisterBundles(System.Web.Optimization.BundleTable.Bundles);

    第四步:在.aspx中添加如下的 js/css 引用代码

    <head>
        <title>测试</title>
        <%: System.Web.Optimization.Styles.Render("~/bundles/news.css") %>
        <%: System.Web.Optimization.Scripts.Render("~/bundles/news.js") %>
    </head>

    第五步:查看运行结果:

    于是我好奇的看了看“/bundles/new.css?v=kmhQVjhQvjknAFAwxWSfOW5ueVMUIDDpyCtaw5lHjBY1”,好家伙里面报错了,说找不到路径,错误如图:

     于是我朝着路径错误的方向试了试,改改路径。把“第二步”中的路径都改成了这样:

    public class BundleConfig
    {
        public static void RegisterBundles(BundleCollection bundles)
        {
            //bundles.Add(new StyleBundle("~/bundles/news.css")
            //    .Include("~/common/a.css",
            //    "~/common/b.css"));
    
            //bundles.Add(new ScriptBundle("~/bundles/news.js")
            //    .Include("~/script/a.js",
            //    "~/script/b.js",
            //    "~/script/c.js"));
    
            bundles.Add(new StyleBundle("~/css")
               .Include("~/common/a.css",
               "~/common/b.css"));
    
            bundles.Add(new ScriptBundle("~/bundlesJs")
               .Include("~/script/a.js",
               "~/script/b.js",
               "~/script/c.js"));
        }
    }
    <head runat="server">
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title></title>
        <%: System.Web.Optimization.Styles.Render("~/css") %>
        <%: System.Web.Optimization.Scripts.Render("~/bundlesJs") %>
    </head>

    于是就解决了这个奇怪的问题,好像这个在MVC中是不一样的。

    效果如图:

    不知道其他"小伙伴"有没有遇到过类似的问题

    在寂寞的日子里沉淀自己,在程序的日子里找到自己,我为梦想而坚持!

    如果对你有重要帮助,可以打赏一下!


  • 相关阅读:
    翻译:让网络更快一些——最小化浏览器中的回流(reflow)
    ArcGIS API for flex 3.1离线文档
    innerHeight与clientHeight、innerWidth与clientWidth
    在Excel2010中输入身份证号
    JavaScript window.location对象
    Apache2.2+php5.2+the requested operation has failed
    Js中的window.parent ,window.top,window.self
    Mongoose 3.0 executable does not start
    Download ActionScript 3 reference files as a single zipActionScript 3 下载
    Flex 4.6 API 离线文档
  • 原文地址:https://www.cnblogs.com/Kummy/p/3355764.html
Copyright © 2011-2022 走看看