Cai*_*nai 5 ajax jquery asp.net-ajax jquery-mobile asp.net-mvc-4
有没有人知道任何错误或其他见解来解释为什么当使用MVC4和jquery mobile时,任何使用Ajax.BeginForm创建的表单都会导致表单被提交两次到控制器.
我原本以为,因为我使用js捆绑,相同的js文件可能被包含两次并且可能在表单提交时触发,但事实并非如此,我的js文件列表是:
jquery-1.6.4.js
jquery-ui.1.8.11.js
jquery.mobile-1.1.0.js
jquery.unobtrusive-ajax.js
jquery.validate.js
knockout-2.0.0.js
MicrosoftAjax.js
MicrosoftMvcAjax.js
MicrosoftMvcValidation.js
Modernizr.js
Run Code Online (Sandbox Code Playgroud)
在项目中,Ajax完全启用了所有功能,即我没有通过mobileinit禁用任何内容.
我没有发布任何表单代码,因为它确实与每个表单一起发生 - 具有一个字段和提交按钮的表单将导致提交两次 - 但仅限于使用Ajax.BeginForm的地方.
Html.BeginForm没有出现任何这些问题.
我已经坚持了几天,所以任何帮助将不胜感激
jQuery Mobile默认情况下hi-jacks任何表单提交并执行自己的AJAX请求.要停止此行为,您可以将该data-ajax="false"属性放在任何<form>标记上.还要确保停止表单的常规行为,以便它不能正常提交,例如:
$('#my-form').on('submit', false);
Run Code Online (Sandbox Code Playgroud)
文档:http://jquerymobile.com/demos/1.1.0/docs/forms/forms-sample.html
您也可以使用内置的jQuery Mobile AJAX而不是包含额外的JS.这只需要您action将表单的属性设置为它们发布的服务器端文件.
| 归档时间: |
|
| 查看次数: |
4734 次 |
| 最近记录: |