E-6ren">
gpt4 book ai didi

ASP.NET MVC 4 AJAX 提交表单不起作用

转载 作者:行者123 更新时间:2023-12-03 21:19:25 25 4
gpt4 key购买 nike

我正在尝试使用 MVC 4 中的 Ajax.BeginForm 帮助程序方法将表单从同步转换为异步。

在我看来,我有:

   @{
ViewBag.Title = "Users > Edit";
var options = new AjaxOptions()
{
Url = Url.Action("Edit", "User"),
LoadingElementId = "saving",
LoadingElementDuration = 2000,
Confirm = "Are you sure you want to save this User?"
};
}

<div id="saving" style="display:none; color:Red; font-weight: bold">
<p>Saving...</p>
</div>

@using (Ajax.BeginForm(options))
{
@Html.ValidationSummary(true)
<fieldset>
.... FIELDS ...
<p>
<input type="submit" value="Save" />
</p>
</fieldset>
}

单击提交按钮时,将执行完整的回发。我的操作方法如下所示:
[HttpPost]
public ActionResult Edit(User user)
{
if (ModelState.IsValid)
{
_repository.Save(user);
TempData["message"] = String.Format("{0} has been saved.", user.Username);
}

return View(user);
}

有什么我想念的吗? MVC 4 当前版本是否存在一些问题?

在我的 Web.Config 中,我确实将 ClientValidationEnabled 和 UnobtrusiveJavaScriptEnabled 设置为 true。

我也在我的 _Layout.cshtml 中指定了这些:
    <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>

最佳答案

Is there something I'm missing?



也许你错过了不显眼的 ajax 脚本:
<script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.min.js")" type="text/javascript"></script>

关于ASP.NET MVC 4 AJAX 提交表单不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9066244/

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