将我的ASP MVC从3 Preview升级到3 Beta后,我在Ajax表单中看到了奇怪的行为.
@using(Ajax.BeginForm("New", new AjaxOptions() {OnSuccess = "onAjaxSuccess", OnFailure = "onAjaxFailure", OnBegin = "onAjaxBegin", HttpMethod = "Post"})) {}
<form action="/Order/New" data-ajax="true" data-ajax-begin="onAjaxBegin" data-ajax-failure="onAjaxFailure" data-ajax-method="Post" data-ajax-success="onAjaxSuccess" method="post"></form>
Run Code Online (Sandbox Code Playgroud)
我已经放置了一个alert内部函数onAjaxBegin,每次点击我的提交按钮都会被激活两次.
其他人看到过这种行为吗?升级后我没有更改代码中的任何内容,它在升级之前完美运行.
小智 33
我有同样的问题,我找到了解决方案:我包括了两次" - jquery.unobtrusive-ajax.min.js"-Script
Dar*_*rov 14
查看生成的HTML.在ASP.NET MVC 3 Beta中,对基于jquery的不引人注目的ajax提供了新的支持,所有Ajax助手现在都使用jquery.也许MS Ajax会留下一些导致双重调用的东西.确保从页面中删除所有MSAjax脚本包含.也就是为什么Ajax.BeginForm当你可以简单地使用Html.BeginForm不显眼的jquery 时使用?