通过ActionLink提交Ajax.BeginForm

时间:2012-11-19 18:34:48

标签: c# asp.net-mvc-3 jquery asp.net-ajax

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

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

1 个答案:

答案 0 :(得分: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;"

但我从未使用它,所以我不知道它是否会起作用。您也可以查看解决方案here,因为它听起来与您要完成的内容完全相同。