我刚刚将jQuery & jQuery UI更新为: jquery-1.9.0.min.js和jquery-ui-1.9.2.min.js
还有..。我所有不显眼的Ajax调用(Ajax.ActionLink、Ajax.BeginForm)都无法正常工作-它们在新页面中打开结果,而不是更新现有的div。
当我的页面加载时,我在Firebug中得到了这个javascript错误:

当然,代码并没有改变,只是使用Nuget更新了jQuery脚本。
有没有人遇到过同样的问题?
发布于 2013-01-18 11:19:29
.live()从1.7开始就被弃用了,并被正式命名为removed in jQuery 1.9。请改用.on(),因为它是执行same thing的首选方法。
发布于 2013-01-25 07:32:32
更新:此问题已在最新的NuGet软件包中修复。我已经发布了另一个答案来反映这一点。https://stackoverflow.com/a/15539422/714309
在jquery.unobtrusive-ajax.js中,查找并替换以下四行:
$("a[data-ajax=true]").live("click", function (evt) {$(document).on("click", "a[data-ajax=true]", function (evt) {
$("form[data-ajax=true] input[type=image]").live("click", function (evt) {$(document).on("click", "form[data-ajax=true] input[type=image]", function (evt) {
$("form[data-ajax=true] :submit").live("click", function (evt) {$(document).on("click", "form[data-ajax=true] :submit", function (evt) {
$("form[data-ajax=true]").live("submit", function (evt) {$(document).on("submit", "form[data-ajax=true]", function (evt) {
您还可以使用WebGrease生成新的jquery.unobtrusive-ajax.min.js。在命令提示符下,切换到解决方案文件夹,然后输入以下命令(假设项目文件夹名为Web):
packages\WebGrease.1.3.0\tools\WG.exe -m -in:Web\Scripts\jquery.unobtrusive-ajax.js -out:Web\Scripts\jquery.unobtrusive-ajax.min.js发布于 2013-03-21 12:19:52
将Microsoft jQuery Unobtrusive Ajax NuGet软件包更新为最新版本。
在Visual Studio中,从Tools菜单中,选择Library Package Manager,然后单击Package Manager Console。在提示符下,键入:
Update-Package Microsoft.jQuery.Unobtrusive.Ajax此问题已在Microsoft jQuery Unobtrusive Ajax 2.0.30116.0 (2013年2月18日星期一)中修复,该版本将对.live()方法(在jQuery 1.7和removed from jQuery 1.9中已弃用)的调用替换为推荐的.on()方法。
https://stackoverflow.com/questions/14391867
复制相似问题