【问题标题】:Ajax.BeginForm posts twice if partial view is rendered with AJAX如果使用 AJAX 呈现部分视图,Ajax.BeginForm 会发布两次
【发布时间】:2023-03-31 05:25:01
【问题描述】:

这是场景:

  1. 部分视图由一些 JavaScript 检索(对控制器的 AJAX 调用返回部分视图)并将 HTML 添加到 DOM 中
  2. 部分视图包含由Ajax.BeginForm() 呈现的表单
  3. 提交表单时(单击提交按钮),它会发布两次

如果我使用 Html.Partial()(而不是使用 JavaScript 添加它)呈现带有原始视图的部分视图,则表单只提交一次,正如预期的那样。

添加局部视图的脚本如下所示:

$.ajax({
   type: 'GET',
   url: '/MyController/MyAction',
   cache: false,
   contentType: "application/html; charset=utf-8",
   dataType: 'html',
   success: function (result) {
      $('#body').append(result);
   }
});

有什么想法吗? :) 谢谢!

【问题讨论】:

    标签: javascript jquery ajax asp.net-mvc


    【解决方案1】:

    我是个白痴。我的控制器返回 View 而不是 PartialView - 所以它当然包含所有 JavaScript 资源。换句话说,问题是由双重不显眼的脚本链接引起的。 :/

    【讨论】:

      猜你喜欢
      • 2017-01-28
      • 1970-01-01
      • 1970-01-01
      • 2011-01-12
      • 2017-05-12
      • 2015-02-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多