我是Ajax和Jquery的新手,所以如果我想做一些愚蠢的事情,我需要您原谅我,我正在使用MVC 5和Ajax.Beginform,而我想做的是我需要一个Ajax表单如果不正确,请使用jquery进行验证,如果我正确地进行了验证,则使用ModelState进行Jquery验证,如果发现验证错误,则将再次返回视图,在这种情况下,我需要更新表单,以便验证消息出现在用户浏览器中,例如,这是我的控制器:
[HttpPost]
public ActionResult Index(AddProduct model)
{
if (ModelState.IsValid)
{
// connect to the database save data etc...
return PartialView("~/Views/Shared/_MyModal.cshtml");
}
else
{
return View(model);
}
}
Run Code Online (Sandbox Code Playgroud)
如果ModelState.IsValid我应该保存数据并返回表示数据已成功保存的局部视图(Bootstrap Modal),否则它将返回整个视图以显示验证消息,并且为此我必须输入TargetId ajax表单,用于包装整个ajax表单以进行更新,这里是ajax表单:
<div id="result">
@using (Ajax.BeginForm("Index", new AjaxOptions
{
InsertionMode = InsertionMode.Replace,
UpdateTargetId = "result",
HttpMethod = "POST",
OnBegin = "onBegin();",
OnComplete = "onCompleated();",
OnSuccess = "onSuccess()",
OnFailure = "onFailure()"
}))
{
@Html.ValidationSummary(true)
<div id="form1" class="form-horizontal">
<div class="row">
<div class="form-group">
@Html.LabelFor(m => m.Name, new { @class = "col-md-2 control-label" })
<div …Run Code Online (Sandbox Code Playgroud)