gpt4 book ai didi

c# - MVC 多次提交表单

转载 作者:太空宇宙 更新时间:2023-11-03 19:52:20 24 4
gpt4 key购买 nike

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

我的 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com