Javascript 如果使用Ajax呈现局部视图,则Ajax.begin将发布两次

Javascript 如果使用Ajax呈现局部视图,则Ajax.begin将发布两次,javascript,jquery,ajax,asp.net-mvc,Javascript,Jquery,Ajax,Asp.net Mvc,以下是场景: 部分视图由一些JavaScript(AJAX调用控制器返回部分视图)检索,HTML被添加到DOM中 部分视图包含由Ajax.BeginForm()呈现的表单 提交表单时(单击“提交”按钮),它会发布两次 如果我使用Html.partial()(而不是使用JavaScript添加它)使用原始视图呈现部分视图,则表单只提交一次,正如预期的那样 用于添加局部视图的脚本如下所示: $.ajax({ type: 'GET', url: '/MyController/MyActio

以下是场景:

  • 部分视图由一些JavaScript(AJAX调用控制器返回部分视图)检索,HTML被添加到DOM中
  • 部分视图包含由
    Ajax.BeginForm()呈现的表单
  • 提交表单时(单击“提交”按钮),它会发布两次
  • 如果我使用
    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资源。换句话说,问题是由两个不显眼的脚本链接引起的/