这是一个很好的做法,将所有css和js脚本加载捆绑在一个asp.net用户控件中?

时间:2013-10-02 15:02:04

标签: asp.net user-controls webforms

尽管我开发了一个asp.net Web表单项目,但是需要在每个页面中加载越来越多的css和javascript文件。此外,还有一些条件语句,如

<!--[if lte IE 9]>

所以问题是:这是一个很好的做法,将所有css和js脚本加载捆绑在一个asp.net用户控件中,然后只将该用户控件放在页眉中,而不是将所有这些行添加到每个页面/母版页?

感谢您的解决方案。

1 个答案:

答案 0 :(得分:3)

这是用户控件的一种做法:将资源(js,css,images)与控件捆绑在一起,以使其自包含。

但是,由此产生的主要问题是资源无法在客户端缓存,因此每次请求页面时都会加载。此外,如果多个控件使用部分或全部资源,则会多次加载它们,并且代码重用会被取消。

您必须仔细权衡您的选择。如果您的应用过度依赖用户控件,那么您必须接受它。您可以识别公共资源并将其分开,并在需要的页面中加载它们。

我建议识别公共资源并将它们(使用工具或手动)捆绑到一个文件中并加载到单个页面(或适当的母版页)中并执行js minify。通常css进入头部,js进入页面末尾。

将单个用户控件中的所有内容捆绑在一起会产生可维护性,版本控制以及当然如上所述的缓存问题。

关于css,我建议您使用ASP.Net主题(样式表主题)。这样,所有样式都保留在一个位置,并提供简单的自定义选项。