c# - MVC 多次提交表单

标签 c# asp.net-mvc forms asp.net-ajax

我遇到了一个奇怪的问题,我希望有人能解释为什么会发生以下情况。

我的 Controller :

MasterModel main = new MasterModel(); 

public ActionResult Index()
{
    return View();
}

[HttpGet]
public ActionResult VehicleDetail()
{
    pageSessionSetup();
    return PartialView("VehicleDetail", main.Vehicle);
}

[HttpPost]
public ActionResult VehicleDetail(VehicleDetailDisplay model)
{
    ModelState.AddModelError("", "Errors occured");
    main.Vehicle = model;
    pageSessionSetup();
    return PartialView("VehicleDetail", main.Vehicle);
}

随 View 更新

我的看法:

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

@using (Ajax.BeginForm("VehicleDetail", "Operator", null, new AjaxOptions
{
   UpdateTargetId = "VehicleDetail",
   InsertionMode = InsertionMode.Replace,
   HttpMethod = "Post"}, new { id = "VehicleDetail" }))
{
   @Html.Partial("_ValidationSummary", ViewData.ModelState)
   <div class="panel panel-default panel-body">
       ...
   </div>

   <div class ="col-lg-7 col-md-7 col-sm-7 col-xs-7 row">
       <button type="submit" value="Save" class="btn btn-lg btn-green col-lg-2 col-md-5 col-sm-7 col-xs-7">Save</button>
   </div>
}

在我的部分 View 中,我有一个提交按钮,但是当我单击一次提交按钮时,表单会被提交多次。

最佳答案

更新:

使用 Html.BeginForm("ActionName", "ControllerName", FormMethod.Post) 而不是 Ajax.BeginForm() OR 检查如果您在页面中两次包含 jquery.unobtrusive-ajax.min.js(也在部分 View 中)。

-------------------------------------------- ---------------------------------------------- ------

@using (Html.BeginForm("ActionName", ""ControllerName", FormMethod.Post))
{    
    <label>SomeLabel</label>
    ...
    <input type="submit" value="Button" /></p> 
}

关于c# - MVC 多次提交表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37451941/

相关文章:

css - Visual Studio 2013 不更新缩小的 bootstrap.css

c# - 使用 ItextSharp PdfPTable,table.TotalHeight 返回 0.0,但期望为正浮点值

c# - 我如何一次更新我的 GUI 分数?

c# - 使用 SharpSVN 在 C# 中预提交 Hook

ruby-on-rails - Rails - 嵌入式多态评论列表 + 添加评论表单 - 示例?

javascript - 如何从javascript设置html表单的属性

javascript - 在网页的单选按钮网格中,每列和每行只允许一个选择

c# - 验证和 Asp.net Mvc 2.0 的最佳实践?

asp.net-mvc - 将 MvcSiteMapProvider 与属性和属性路由结合使用

asp.net - Webforms session 值现在应该存储在 MVC 不记名 token 中吗?