我们可以在asp.net绑定中使用什么样的文件

本文关键字:什么样 文件 绑定 asp net 我们 | 更新日期: 2023-09-27 18:23:59

我想知道是否可以像一样在捆绑中添加ascx文件

  bundles.Add(new ScriptBundle("~/bundles/First").Include(
                    "~/Script/js.ascx"));

我想知道,因为假设我必须在产品发布后在捆绑中再添加一个文件,那么我必须为此重新构建。

我们可以在asp.net绑定中使用什么样的文件

不,我们不能在捆绑包中包含ascx文件我们只使用js和css文件进行捆绑。。。这里有一个小的解释为什么我们使用捆绑

随着Web应用程序变得越来越复杂,它所依赖的外部脚本的数量也会显著增加。从jQuery和一些应用程序库开始,如Backbone.js(及其依赖项Underscore),然后从Foundation等UI框架中插入插件和一些表单验证脚本,更不用说你的应用程序代码本身了--你可以很容易地发现你的应用程序有几十个外部文件,每个文件都必须在每次页面刷新时加载。

为了解决这个问题,开发人员经常使用名为“bundlers”的工具,将脚本文件(或样式表)连接到一个文件中,从而减少在Internet上发送多个文件的I/O开销许多人还执行一个称为"缩小"的过程,即删除非必要的空白,并将变量名更改为尽可能短的名称,从而产生一段不可读但高效的代码。

ASPMVC为绑定 提供了两个定制的类:用于JavaScript文件的ScriptBundle和用于CSS的StyleBundle。这两个类都提供了内置的缩小功能,从而进一步减少了您的总负载。您需要为每个捆绑包指定一个唯一的路径。

var myBundle = new ScriptBundle("~/bundles/js");

使用此捆绑包,您可以使用其方法简单地添加新文件(或整个目录!):

myBundle.IncludeDirectory("~/js/vendor/");
myBundle.Include("~/js/app.js");

完成每个捆绑包后,将其添加到作为参数传入的集合中

bundles.Add(myBundle);

继续此模式,直到您配置了所需的所有捆绑包。

我不能回答具体的问题(还没有尝试),但要解决"问题":

我想知道,因为假设我必须在产品发布后在捆绑中再添加一个文件,那么我必须为此重新构建。

根据捆绑文档,您可以选择包括文件甚至目录。。和通配符:

因此:

BundleCollection bundles = BundleTable.Bundles;
bundles.Add((new ScriptBundle("~/bundle/custom")
     .IncludeDirectory("~/Scripts/edsf/", "ed*")));

平均值:

  • 我的目标是文件夹/Scripts/edsf
  • 我希望所述目录中以"ed"开头的所有脚本都在脚本包中,例如。
    • edsf.js
    • edfo.js

如果我将一个新文件edbar.js添加到/Scripts/edsf目录中,它将自动绑定,并且您将看到版本字符串得到更新。

无需构建。。。。

Hth。。。