Asp.net mvc 如何使用ASP.NET MVC 4 Ajax jquery在引导模式内不引人注目地验证表单

Asp.net mvc 如何使用ASP.NET MVC 4 Ajax jquery在引导模式内不引人注目地验证表单,asp.net-mvc,asp.net-mvc-4,unobtrusive-validation,Asp.net Mvc,Asp.net Mvc 4,Unobtrusive Validation,我有以下几页-> 索引页: 创建按钮代码: @Ajax.ActionLink("Create New", "AjaxCreate", "User", new AjaxOptions() { HttpMethod = "POST", UpdateTargetId = "create-modal-body", InsertionMode = InsertionMode.Replace, OnBegin = "Loadingajax", OnComplete = "showCreateM

我有以下几页->

索引页:

创建按钮代码:

@Ajax.ActionLink("Create New", "AjaxCreate", "User", new AjaxOptions() 
{ HttpMethod = "POST", UpdateTargetId = "create-modal-body",
  InsertionMode = InsertionMode.Replace,
  OnBegin = "Loadingajax",
  OnComplete = "showCreateModal"
}, new { @class = "btn btn-info",id="create-btn"})`
单击create按钮后,我将显示如下引导模式

我的表单在局部视图AjaxCreate中,工作正常,当我单击“创建新”按钮时,它会加载到模态体内部的创建模态体div中

部分视图创建表单代码:

@using (Ajax.BeginForm("Create", "User", new AjaxOptions() { UpdateTargetId = "create-modal-body", InsertionMode = InsertionMode.Replace }))
{
    //Form Content here
} 
控制器代码

public ActionResult AjaxCreate()
{
     return PartialView();
}

[HttpPost]
public ActionResult Create(MAST_USER mast_user)
{
    if (ModelState.IsValid)
    {
        mast_user.InsertTime = DateTime.Now;
        db.MAST_USER.Add(mast_user);
        db.SaveChanges();
        return RedirectToAction("Index");
    }

    return PartialView("AjaxCreate", mast_user); 
}
注意返回PartialViewAjaxCreate,mast_user;如果验证中出现错误,则执行

现在我想要的是,当我提交表单时,如果有任何验证错误,那么错误必须显示在模态本身中

我搜索并尝试了不同的组合,但当我提交一个无效的表单时,它会转到新页面,如下所示


我已经在索引页中包含了所有必需的验证js脚本,它对“新建”按钮很有效,但在提交表单时会令人毛骨悚然。提交表单时没有验证错误也可以。

在客户端验证并使用ajax post。。抱歉,我只使用了post。。我认为必须有某种方法,而不是在我们已经在模型中指定的时候手动编写所有客户端验证…你能发布你的演示吗@?如果你要进入一个新页面,你没有包括相关的脚本jquery.unobtrusive-ajax.js。但是您的POST方法有返回重定向到ActionIndex;这是没有意义的,因为ajax停留在同一个页面上,它不会重定向。如果我没有错的话,有一种不同的方法来验证部分视图,下面是一个例子。。