asp.net mvc ajax.begineform onsuccess事件和模型验证

时间:2011-10-29 10:09:21

标签: asp.net-mvc validation jquery

以下是代码

public class MyModel
{
   [Required]
   public string Title {get;set;}

}


public class MyController : Controller
{
     public ActionResult Post(MyModel model)
     {
          if (!ModelState.IsValid)
             return PartialView(model);

          return PartialView("SomeOtherView"); 
     }



}

这是我的观点

   @model MyModel

   @using(Ajax.BeginForm("Post","My",new AjaxOptions{OnSuccess = "Sucess" }) {
         Html.Partial("Post",Model)

  }

<script>
 function Success(content)
 {
   $("#somediv").html(content);

 }


</script>

现在,当ModelState Dictionary没有错误时,一切顺利,但是当有一些模型验证错误时,我无法在javascript中检测到它。有人可以帮忙吗。

此致 成员Parminder

1 个答案:

答案 0 :(得分:1)

有不同的方法来实现这一目标。一种方法是让服务器端在发生错误时发送正确的HTTP代码(500):

if (!ModelState.IsValid)
{
    Response.StatusCode = 500;
    return PartialView(model);
}

并在客户端上订阅OnFailure回调并在不同的函数中处理错误情况。