ASP.NET MVC jQuery更新的最佳实践

时间:2013-02-05 21:25:39

标签: asp.net-mvc asp.net-mvc-4

历史

我创建了一个新的ASP.NET MVC 4.0项目,该项目是基本的,并且不包含默认情况下Intranet和Internet模板插入的jQuery或其他脚本。然后我使用NuGet添加脚本并安装了通常由MVC Intranet和Internet模板安装的所有jQuery和相关文件的最新版本。

当我尝试运行应用程序时,我开始收到错误。显然,与jQuery 1.9之前编写的库/扩展不兼容。似乎在解决了一个问题之后,我遇到了另一个问题。我终于放弃并复制了已经安装的js文件的版本。这解决了我能够使用远程验证等功能的问题。

问题

由于我是ASP.MVC的新手,我想知道最佳实践与jQuery更新有什么关系。我假设我需要等到所有库/扩展都赶上,但我需要按照每个库/扩展的状态来确定何时可以升级。

  1. 等待并使用随MVC模板安装但未升级的版本更好吗?当MVC的下一次更新出来时,然后将这些库/扩展复制到更新模板使用的脚本文件夹中?
  2. 我注意到MVC模板不安装jQuery NuGet包,而是将文件安装到Content和Script文件夹。这是为了防止开发人员升级并遇到我使用较新版本的库/扩展时遇到的问题吗?
  3. Microsoft是否会更新jquery.unobtrusive-ajax.js和相关库以更新ASP.NET MVC?如果是这样,那么在ASP.NET MVC更新之前暂停更新依赖关系似乎是有意义的。

1 个答案:

答案 0 :(得分:2)

jQuery弃用了v1.9中的.live()方法。它可以替换为.on()。这打破了jquery.unobtrusive-ajax.js。我从诅咒我第一次从NuGet中获取的更新的经验中得知。

jquery.validate有更新,this thread中也提到过。但是我还没有验证它,jquery 1.9.1也可用。

对于你的问题......

  1. 我认为最好让您的软件包保持最新状态,同时还要研究任何已弃用的功能。另外使用像工具一样的源保存是一个好主意。只需单击一下鼠标,即可轻松恢复任何重大更改。

  2. 即使没有为您的原始项目(内部或互联网)添加\ packages文件夹。如果您打开NuGet包管理器UI,仍会显示更新。