2011年12月20日 星期二

MVC的Ajax實現方式

以顯示MODEL的錯誤信息為例子。Controller中拋出錯誤給View。
[HttpPost]
 public ActionResult CreateComment(Comment comment)
 {
     if (!ModelState.IsValid)
     {
     List<string> sb = new List<string>();
     //获取所有错误的Key
     List<string> Keys = ModelState.Keys.ToList();
     //获取每一个key对应的ModelStateDictionary
     foreach (var key in Keys)
     {
         var errors = ModelState[key].Errors.ToList();
         //将错误描述添加到sb中
         foreach (var error in errors)
         {
         sb.Add(error.ErrorMessage);
         }
     }
     return Json(sb);
     }
     else
     {
     return Json(commentRepository.InsertComment(comment));
     }
 }</string></string></string>







View端用JS來顯示,用JQuery自帶的方法。
$("#commentform").submit(function () {
$.ajax({
    type: "POST",
    url: "/AjaxResult/CreateComment/",
    data: $(this).serialize(),
    dataType: "json",
    success: function (data) {
    if (data == true) {
        alert("成功");
        ShowPage(articleID, pageSize, 1);
    }
    else if (data != true && data != false) {
        var result = "";
        for (var i in data) {
        result = result + data[i] + "\r\n";
        }
        alert(result);
    }
    },
    global: false
});
return false;
});



原始文章出自於此

沒有留言:

張貼留言