ASP.由Ajax生成的.NET代码.升级到JQuery 2.0.1后,ActionLink停止工作



我有一个ASP。NET MVC3应用程序,我已经升级到JQuery 2.0.1,不幸的是,这有一些不愉快的副作用。(更多信息在这里)

目前我只有一个突出的问题:由@Ajax生成的HTML链接。ActionLink不再调用相应的js代码,而是被浏览器当作常规链接来处理。

问题页面包含以下js文件:

<script src="/Scripts/jquery-2.0.1.min.js" type="text/javascript"></script>
<script src="/Scripts/modernizr-2.6.2.js" type="text/javascript"></script>
<script src="/Scripts/jquery-ui-1.10.3.min.js" type="text/javascript"></script>
<script src="/Scripts/jquery.validate.min.js" type="text/javascript"></script>
<script src="/Scripts/jquery.validate.unobtrusive.min.js" type="text/javascript">script>
<script src="~/Scripts/MicrosoftAjax.debug.js" type="text/javascript"></script>
<script src="/Scripts/MicrosoftMvcAjax.debug.js" type="text/javascript"></script>
<script src="/Scripts/jquery.unobtrusive-ajax.min.js" type="text/javascript">   </script>

我不得不手动更新jquery.unobtrusive-ajax.min.js文件来解决另一个问题(用on代替live)。

Ajax.ActionLink如下图所示:

@Ajax.ActionLink("Delete", "Delete", "InputResources",
                new { id = Model[i].ID },
                new AjaxOptions
                {
                    HttpMethod = "DELETE",
                    Confirm = "Are you sure you want to delete?",
                    OnComplete = "window.location.href='/Projects/InputResources/" + ViewBag.ProjectID + "'"
                })

生成的HTML看起来似乎很好:

<a href="/InputResources/Delete/5" data-ajax-method="DELETE" data-ajax-confirm="Are you sure you want to delete?" data-ajax-complete="window.location.href='/Projects/InputResources/2'" data-ajax="true">Delete</a>

谁能建议什么js文件,我需要如何修改,以使这个链接再次正常工作?

我是这样解决的:

这将更新jquery验证脚本到最新版本:

PM> Install-Package jQuery.Validation 

这将更新你的jquery不显眼的验证脚本到最新版本:

PM> Install-Package jQuery.Ajax.Unobtrusive

确保两者都包含在你的页面后jquery库,如果你不这样做,它将无法工作

相关内容

  • 没有找到相关文章

最新更新