System.web.optimization 在 Asp.Net WebForm 中应用得注意了

时间:2022-01-09 23:09:21

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

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

System.web.optimization 在 Asp.Net WebForm 中应用得注意了

第二步:在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>

第五步:查看运行结果:

System.web.optimization 在 Asp.Net WebForm 中应用得注意了

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

System.web.optimization 在 Asp.Net WebForm 中应用得注意了

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

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中是不一样的。

效果如图:

System.web.optimization 在 Asp.Net WebForm 中应用得注意了

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