【发布时间】:2023-03-18 22:28:02
【问题描述】:
有没有人知道任何错误或其他见解来解释为什么将 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
在项目中,Ajax 对所有内容都完全启用,即我没有通过 mobileinit 禁用任何内容。
我没有发布任何表单代码,因为它确实发生在每个表单中 - 具有一个字段和提交按钮的表单将导致提交两次 - 但仅限于使用 Ajax.BeginForm 的地方。
Html.BeginForm 没有出现任何这些问题。
我已经坚持了几天了,所以任何帮助都将不胜感激
【问题讨论】:
-
在不引用
Microsoft*.js文件的情况下尝试一下。从 MVC3 开始,不显眼的验证和Ajax.助手不需要它们。 -
感谢 nemesv 的回复。不幸的是,删除 Microsoft*.js 文件并不能解决这个特定问题
标签: ajax jquery jquery-mobile asp.net-ajax asp.net-mvc-4