如果使用AJAX呈现局部视图,Ajax.BeginForm会发布两次

Ted*_*erg 2 javascript ajax asp.net-mvc jquery

这是场景:

  1. 部分视图由一些J​​avaScript(对控制器返回部分视图的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);
   }
});
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?:) 谢谢!

Ted*_*erg 8

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