現在、アプリケーション内に例外管理を追加しています。
アプリケーションには、例外が発生したときにこれまでにレンダリングされたニュース セクションを基本的に表示するレイアウトがあります@Html.Action("news")
。ニュース セクションに「クラッシュしました」というエラー メッセージを表示できますが、それはあまり魅力的ではありません...
親レベルでそれを検出し、子アクションで例外が発生した場合にエラー ページにリダイレクトすることは可能ですか?
現在、アプリケーション内に例外管理を追加しています。
アプリケーションには、例外が発生したときにこれまでにレンダリングされたニュース セクションを基本的に表示するレイアウトがあります@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");
}
}
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>
HTH
この投稿は、あなたが探していることを行います。アプリケーションレベルでは、例外をキャッチし、それらをどうするかを選択できます