Scriptmanager Asp.Net Mvc

我想在新的Asp.net MVC模型中使用一些ScriptManagerfunction:

1-脚本组合
2-解析外部Javascript文件的不同路径
3-缩小和Gzip压缩

这是我发现的,但我不确定是MVC方法的最佳方式。 一般来说,在MVC模型中处理Javascript代码的好方法是什么?

也许你可以创建一个新的’Scripts’控制器,其中不同的操作服务于压缩JS文件的不同组合。 由于MVC采用面向资源的方法设计,即URL现在是编程模型的中心,为什么不为Javascripts定义简单的URI呢?

例如,在您的视图中,您可以像这样引用您的文件:

 

这将调用您的“所有”操作,从而导致所有压缩脚本文件被发送。

当然,您现在需要对组合和压缩进行编码,或者可能在内部重用Scriptmanager,我不知道是否可能。

这只是一个想法,目前我直接在我的母版页中引用单个javascript文件。

试试这个: http : //www.codeplex.com/MvcScriptManager

MvcScriptManager旨在将AjaxControlToolkit的ToolkitScriptManager中可用的某些关键function移植到当前的ASP.NET MVC框架中。 您将能够将其用作ASP.NET MVC应用程序中的控件。

特征

  1. 脚本组合(或连接)。 使用MvcScriptManager声明的脚本将在呈现页面时动态组合成单个脚本文件请求。
  2. 在发布模式下脚本缩小(或处理)。 在引用特定脚本的第一个请求中,缩小过程仅执行一次。 后续请求将使用缓存中的已压缩脚本内容(有关详细信息,请参阅#5)。 可以为每个脚本启用/禁用运算。
  3. 为独立脚本文件呈现本地化资源。 如果指定,本地化字符串将附加到脚本。
  4. 输出脚本时支持可配置的HTTP压缩和过期设置。
  5. 具有文件依赖性的脚本缓存。 缓存脚本文件内容,以便渲染组合脚本文件的性能更高。 缓存依赖关系链接到物理文件,因此文件系统中的任何脚本更新都将立即反映在缓存中。
  6. 支持基于运行环境以调试/发布模式呈现脚本。
  7. 解析独立脚本文件的不同路径。
  8. 在单个页面(或母版页)上支持多个MvcScriptManagers。 支持主渲染和从属渲染模式,以便使用一个ScriptManager声明的脚本可以转移到另一个脚本以进行渲染。
  9. 支持Web场景场景……

或者包括ScriptManager本身,作为一个单独的每页一次

的唯一居民?

像这样:-

  

适合我。

PS您需要确保此表单标记永远不会嵌入到另一个表单中。 嵌套表单不起作用。

发现这个研究大致相同的问题: 一个简单的ASP.NET MVC脚本管理器 – 在这个问题得到解答后编写,以供参考。

在第一个例子中,我将使用powershell解决方案,即将其全部放在母版页中(特别是现在可以从微软的CDN中提取jQuery) – 然后我们将研究更优化解决方案的选项。

MVC 4现在包括Bundling和Minification助手。 您定义了捆绑包中的所有脚本,MVC将负责捆绑,压缩,缓存清除等。

http://www.asp.net/mvc/tutorials/mvc-4/bundling-and-minification