1

現在、アプリケーション内に例外管理を追加しています。

アプリケーションには、例外が発生したときにこれまでにレンダリングされたニュース セクションを基本的に表示するレイアウトがあります@Html.Action("news")。ニュース セクションに「クラッシュしました」というエラー メッセージを表示できますが、それはあまり魅力的ではありません...

親レベルでそれを検出し、子アクションで例外が発生した場合にエラー ページにリダイレクトすることは可能ですか?

4

2 に答える 2

1

これが私がしたことです。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

于 2012-06-01T20:14:05.760 に答える
0

この投稿は、あなたが探していることを行います。アプリケーションレベルでは、例外をキャッチし、それらをどうするかを選択できます

ASP.NET MVC カスタム エラー処理 Application_Error Global.asax?

于 2012-06-02T01:22:33.163 に答える