随着我开发一个asp.net web窗体项目,越来越多的css和javascript文件需要加载到每个页面中。此外,还有一些条件语句,如
<!--[if lte IE 9]>所以问题是:将所有css和js脚本加载绑定到一个asp.net用户控件中,然后只将该用户控件放在页面标题中,而不是将所有这些行添加到每个页面/主页中,这是一个很好的实践吗?
非常感谢您的解决方案。
发布于 2013-10-02 15:15:31
这是用户控件的一种实践:将资源(js、css、图像)与控件捆绑在一起,以便使其自成体系。
但是,由此产生的主要问题是资源无法缓存在客户端,因此每次请求该页面时都会加载资源。此外,如果多个控件使用部分或全部资源,则会多次加载这些资源,并拒绝代码重用。
你必须仔细权衡你的选择。如果你的应用过于依赖用户控制,那么你就必须忍受这种情况。您可以识别公共资源并将它们分离出来,并在需要时将它们加载到页面中。
我建议识别公共资源,并将它们(使用工具或手动)捆绑到一个文件中,并在单个页面中加载(或酌情加载母版页),并进行js细化。通常,css在头,js在页面的末尾。
将所有内容捆绑在一个用户控件中将带来可维护性、版本控制以及上面提到的缓存等问题。
特别是关于css,我建议您使用ASP.Net主题(样式表主题)。这样,所有样式都保留在一个地方,并提供了简单的自定义选项。
https://stackoverflow.com/questions/19140152
复制相似问题