通过ajax加载的ASP.NET MVC表单多次提交

ste*_*776 6 c# asp.net-mvc razor asp.net-mvc-3

我有一个包含ajax表单的局部视图.这个局部视图通过ajax调用加载到我的页面上.我可以编辑字段并提交表单,一切正常.但是,如果我重新加载表单N次,单击保存按钮时表单将提交N次.

这是部分视图的代码....

@model blah blah...

<script src="@Url.Content("~/Scripts/jquery-1.4.4.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery-ui.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.min.js")"type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript</script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")"type="text/javascript"></script>

<div id="modalForm">
  @using (Ajax.BeginForm("Edit", "Info", new{id = Model.UserId}, AjaxOptions{OnSuccess = "infoUpdate" }))
  {


       //FORM FIELDS GO HERE

      <input type="submit" value="Save" />


  }
</div>
Run Code Online (Sandbox Code Playgroud)

我做错了导致这种行为的原因是什么?

ale*_*exl 4

每次重新加载表单时,都会放置一个触发器来提交表单。因此,如果您重新加载表单 n 次,则您有 n 次提交。

如果可能的话,尝试仅加载表单一次。

您可以尝试解除绑定提交触发器,当您点击提交按钮时:

<input type="submit" value="Save" onClick="submitForm()" />

var submitForm = function() {
    $("#formAddressShipping form").trigger('submit');    
    $("#formAddressShipping form").unbind('submit');
    return false;
};
Run Code Online (Sandbox Code Playgroud)