小编Mom*_*ama的帖子

Ajax.BeginForm处理两个不同的onSuccess响应,MVC 5,C#

我是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)

javascript ajax jquery twitter-bootstrap asp.net-mvc-5

5
推荐指数
1
解决办法
2383
查看次数