Asp.Net MVC中的样式和脚本管理

时间:2011-01-07 15:06:39

标签: javascript asp.net css asp.net-mvc design-patterns

我现在正在我的项目中使用asp.net mvc 2.0。我喜欢asp.net mvc的设计和工作方式,但我觉得它缺乏对具有大量样式和脚本的应用程序的良好支持。

为了隔离应用程序的不同部分,我使用区域,仅限子操作和部分操作。我想要一种标准的方法来分离我的脚本和样式,即将我的脚本和样式文件放在一个区域(不在根目录中的脚本和内容文件夹中),以及将它们包含在它们所属的页面上的好方法。

现在我在每个页面上使用内容占位符,我可以在其中包含该操作的任何脚本和样式,但我想要一种包含来自例如脚本的脚本的方法。只有孩子的行动。

您对此有何看法,如何管理脚本和样式文件,是否有任何模式或最佳实践?

3 个答案:

答案 0 :(得分:4)

你可以使用Chirpy(ehem): http://chirpy.codeplex.com/

或SquishIt: https://github.com/jetheredge/SquishIt

或者创建一个处理js / css文件请求的控制器: http://www.weirdlover.com/2010/05/10/zcontroller-asp-net-mvc-controller-fo-your-scripts-styles-images/

或者创建一个IHttpModule来处理js / css请求: How2: what event to hook in HttpModule for putting js links into head element

不确定这是否是您要找的。但这就是我所拥有的一切。

答案 1 :(得分:3)

我使用了一种注册脚本/ css的方式,我第一次看到here。您在代码中注册脚本,然后将它们缩小,混合,缓存并包含在一个位置。我扩展了这种方法以允许脚本分组。因此,您可以在“默认”组中包含“母版页”脚本,这些脚本将在您的母版页上输出。子页面可以注册您自己的组。

做得很好,它非常优雅,你的性能得到了显着的提升,让YSlow感到高兴。

干杯,

答案 2 :(得分:2)

我放置了主页中每个页面上使用的脚本和样式,然后留下内容占位符,以便每个页面都可以包含所需的脚本和样式。正如你一样。