我有一部分是通過Ajax刷新的。ASP.NET MVC:在部分主視圖中重定向錯誤
查看使用Javascript:
$("#SelectedId").change(function() {
var id = $("#SelectedId").val();
if (id > 0) {
$.ajax({
url: "/Home/Refresh",
data: { id: id },
type: "POST",
success: function (result) {
$('#partialHolder').html(result);
}
});
}
});
刷新動作:
[HttpPost]
public ActionResult Refresh(int id)
{
HomeViewModel model = new HomeViewModel();
model.id = id;
ViewBag.id = model.id;
PrepareModel(ref model);
return PartialView("~/Views/PartialView.cshtml", model);
}
這種運作良好,所不同的是當一個錯誤(諸如HTTP異常)時,錯誤視圖被髮送到局部當我希望它被顯示爲主視圖時。
錯誤動作:
public ActionResult Error(string message)
{
ViewBag.Message = message;
return View();
}
我已經使用Javascript(無論是在視圖和控制器返回)將瀏覽器重定向嘗試,但都是車,我認爲不好的做法。
您可以顯示操作刷新的代碼? – theLaw 2014-11-04 14:38:07
請參閱:http://stackoverflow.com/questions/2261617/how-to-handle-model-state-errors-in-ajax-invoked-controller-action-that-returns – ScottE 2014-11-04 14:49:56