Ajax.BeginForm OnSuccess在提交后未执行

时间:2011-04-28 21:03:40

标签: asp.net-mvc-3 ajax.beginform

我正在尝试使用jquery对话框来编辑WebGrid中的数据。 Everythings工作正常,直到提交表单,而不是返回打开的当前页面浏览器转到控制器操作的URL。我在WebGrid中使用HTML.ActionLink,它将jquery行为添加到WebGrid按钮,并且工作正常。它在jquery对话框中打开View。该对话框定义了两个按钮:更新按钮和取消按钮。单击取消按钮不执行任何操作。单击更新按钮会将浏览器带到控制器URL以进行具有项ID的编辑操作。我定义了jquery.unobtrusive-ajax.js库,并在Web.config文件中添加了UnobtrusiveJavaScriptEnabled键,但我不确定是否需要它。有没有人经历过这种行为,任何帮助都是有用的!

2 个答案:

答案 0 :(得分:0)

我在两种情况下遇到过这个问题:

  1. 事件处理程序不存在 绑定到表单的提交事件,或者它没有取消默认行为(通过event.preventDefault();return false;)。
  2. 事件中有错误     处理程序,导致它回退到     默认行为。
  3. 这就是我可以在没有任何来源的情况下尝试提供多少帮助。

答案 1 :(得分:0)

当我遇到这个问题时,我没有引用jquery-Ajax.unobtrusive库,所以确保那里也是

http://completedevelopment.blogspot.com/2011/02/unobstrusive-javascript-in-mvc-3-helps.html

开始
1. Set the mentioned flag in the web.config: <add key="UnobtrusiveJavaScriptEnabled" value="true"/>
2. Include a reference to the jQuery library ~/Scripts/jquery-1.4.4.js
3. Include a reference to the library that hooks this magic at ~/Scripts/jquery.unobtrusive-ajax.js