2

我正在尝试使用超链接而不是提交按钮提交 Ajax.BeginForm。我使用提交按钮进行了测试,并且该操作通过测试 Request.IsAjaxRequest 将帖子识别为基于 Ajax,但是如果我尝试以下 IsAjaxRequest 则返回 false:

<a href="javascript:void(0)" onclick="javascript:document.forms[0].submit(); return false;">Update</a>
4

1 回答 1

4

该表单与 Microsoft 的 Ajax 库挂钩,因此您不能只调用 form.submit(),因为未激活已连接的 ajax 事件。你有几个选择:

  • 使用提交按钮而不是链接
  • 删除 MS Ajax 的东西并使用 jQuery 手动连接你的 ajax 帖子(这就是我会做的)
  • 调用 MS Ajax 提交函数

对于第三个选项,而不是

onclick="javascript:document.forms[0].submit(); return false;"

尝试

onclick="javascript:$('#form').onSubmit(); return false;"

但是我没用过,不知道能不能用。您也可以在此处查看解决方案,因为这听起来与您想要完成的完全一样。

于 2012-11-19T19:46:41.030 回答