如何在父级别处理子操作异常
本文关键字:理子 操作 异常 别处 | 更新日期: 2023-09-27 18:36:12
我目前正在我们的应用程序中添加异常管理。
在应用程序中,我有一个布局,基本上显示一个通过@Html.Action("news")
呈现的新闻部分,到目前为止,当发生异常时,我可以在新闻部分显示一条错误消息,说"好吧,它崩溃了",但这不是最好的吸引力......
是否可以在父级别检测到它,并在子操作遇到异常时重定向到错误页面?
这就是我所做的。从 SO 上的类似问题中得到这个(不确定是哪一个)。
public ActionResult TabInfo(int id, string tab)
{
try
{
var viewModel = _viewModelManager.GetViewModel(tab, id);
ViewBag.Jobid = id;
ViewBag.Tab = tab;
return PartialView(string.Format("~/Views/{0}/Index.cshtml", tab), viewModel);
}
catch (Exception e)
{
return View("ErrorChildAction");
}
}
"错误子操作"视图
@model System.Web.Mvc.HandleErrorInfo
@{
Layout = null;
}
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<!-- Redirect to an error page in the application root -->
<script type="text/javascript">
window.location.href = '@Url.Content("~/400.htm")';
</script>
</body>
呵呵
这篇文章可以满足您的需求。在应用程序级别,它捕获异常,您可以选择如何处理它们
ASP.NET MVC 自定义错误处理Application_Error Global.asax?