我想在新的Asp.net MVC模型中使用一些ScriptManager功能:
1-脚本组合
2-解析外部Javascript文件的不同路径
3-缩小和Gzip压缩
这是我发现的,但我不确定是MVC方法的最佳方式.一般来说,在MVC模型中处理Javascript代码的好方法是什么?
也许你可以创建一个新的'Scripts'控制器,其中包含不同的操作,为不同的压缩JS文件组合提供服务.由于MVC采用面向资源的方法设计,即URL现在位于编程模型的中心,为什么不为Javascripts定义简单的URI呢?
例如,在您的视图中,您可以像这样引用您的文件:
这将调用您的"所有"操作,从而导致发送所有压缩脚本文件.
当然,您现在需要对组合和压缩进行编码,或者可能在内部重用Scriptmanager,我不知道是否可能.
这只是一个想法,目前我直接在我的母版页中引用单个javascript文件.
试试这个:http: //www.codeplex.com/MvcScriptManager
MvcScriptManager旨在将AjaxControlToolkit的ToolkitScriptManager中可用的某些关键功能移植到当前的ASP.NET MVC框架中.您将能够将其用作ASP.NET MVC应用程序中的控件.
特征
脚本组合(或连接).使用MvcScriptManager声明的脚本将在呈现页面时动态组合成单个脚本文件请求.
在发布模式下脚本缩小(或处理).在引用特定脚本的第一个请求中,缩小过程仅执行一次.后续请求将使用缓存中的已压缩脚本内容(有关详细信息,请参阅#5).可以为每个脚本启用/禁用运算.
为独立脚本文件呈现本地化资源.如果指定,本地化字符串将附加到脚本.
输出脚本时支持可配置的HTTP压缩和过期设置.
具有文件依赖性的脚本缓存.缓存脚本文件内容,以便渲染组合脚本文件的性能更高.缓存依赖关系链接到物理文件,因此文件系统中的任何脚本更新都将立即反映在缓存中.
支持基于运行环境在调试/发布模式下呈现脚本.
解析独立脚本文件的不同路径.
在单个页面(或母版页)上支持多个MvcScriptManagers.支持主渲染和从属渲染模式,以便使用一个ScriptManager声明的脚本可以转移到另一个脚本以进行渲染.
支持Web场景场景......