我在控制器中有以下代码,这里我想将部分视图或Json结果返回到jquery。我的问题是当这个控制器被命中时jquery用一些进度条阻止UI并等待响应直到它返回。但是当ModelState为false时,它返回绕过jquery unblock UI的部分视图。所以这会让UI永远阻止。
[HttpPost]
public ActionResult Edit(Form form)
{
...
if (!ModelState.IsValid)
{
return PartialView("EditPartial", model);
}
return Json(new
{
Success = true,
Id = ID
});
}
我该如何解决这个问题?
答案 0 :(得分:0)
您的控制器方法表现正常。你只需要修改你的ajax调用:
$.ajax({
url: '<your url>',
dataType: 'json',
success: function(data, textStatus, jqXHR) {
// You have the json result.
},
error: function(jqXHR, textStatus, errorThrown) {
// You have the partial view
}
});
空响应也被视为失败的json解析。您的控制器方法应该返回null或{}的响应。
有关dataType
和error
http://api.jquery.com/jQuery.ajax/