【问题标题】:Ajax.BeginForm OnSuccess not executed after Submit提交后未执行 Ajax.BeginForm OnSuccess
【发布时间】:2011-04-28 21:03:39
【问题描述】:

我正在尝试使用 jquery 对话框来编辑 WebGrid 中的数据。在提交表单之前,一切工作正常,而不是返回到打开的当前页面,浏览器转到控制器操作的 url。我在 WebGrid 中使用 HTML.ActionLink 将 jquery 行为添加到 WebGrid 的按钮,并且工作正常。它在 jquery 对话框中打开视图。该对话框定义了两个按钮:一个更新按钮和一个取消按钮。单击取消按钮不会执行任何操作。单击更新按钮会将浏览器带到控制器 url,以进行带有项目 id 的编辑操作。我定义了 jquery.unobtrusive-ajax.js 库,并在 Web.config 文件中添加了 UnobtrusiveJavaScriptEnabled 键,尽管我不确定是否需要它。有没有人遇到过这种行为,不胜感激!

【问题讨论】:

  • 在我们进一步了解这个之前,请先编码。

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


【解决方案1】:

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

  1. 事件处理程序没有被 绑定到表单的提交事件,或者它没有抑制默认行为(通过event.preventDefault(); 或return false;)。
  2. 事件中出现错误 处理程序,使其回退到 默认行为。

这就是我可以在没有任何来源的情况下尝试提供的帮助。

【讨论】:

    【解决方案2】:

    当我遇到这个问题时,我并没有引用 jquery-Ajax.unobtrusive 库,所以请确保它也存在

    来自我在http://completedevelopment.blogspot.com/2011/02/unobstrusive-javascript-in-mvc-3-helps.html的条目

    1. 在 web.config 中设置提到的标志: 2.包含对jQuery库的引用~/Scripts/jquery-1.4.4.js 3. 在 ~/Scripts/jquery.unobtrusive-ajax.js 中包含对挂钩这个魔法的库的引用

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-12-09
      • 2018-08-03
      • 2011-07-30
      • 1970-01-01
      • 2011-11-09
      • 1970-01-01
      • 1970-01-01
      • 2011-11-11
      相关资源
      最近更新 更多