0

ここで説明されているような同様の問題があり ます。コントローラーの一般化されたエラー処理メカニズムが必要です。エラーが発生した場合、ModelState にエラーが追加されたエラーが発生した同じビューを表示したいと考えています。私はこのようなものを持っています:

        public override void OnException(ExceptionContext filterContext)
    {
        filterContext.Controller.TempData["UnhandledException"] = filterContext.Exception;
        filterContext.ExceptionHandled = true;

        ((Controller)filterContext.Controller).ModelState.AddModelError(
             ((BaseException)filterContext.Exception).Message,
             ((BaseException)filterContext.Exception).StackTrace
         );

        filterContext.Result = new ViewResult
        {
            ViewName = this.View,
            TempData = filterContext.Controller.TempData,
            ViewData = filterContext.Controller.ViewData,

        };


    }

しかし、Index.cshtml ln で null 参照例外を受け取っています。3 エラー メッセージ: タイプ 'System.NullReferenceException' の例外が App_Web_dc1p1y1y.dll で発生しましたが、ユーザー コードで処理されませんでした

私のindex.cshtmlからのコード:

@model MyProject.Web.Models.UserProfileViewModel
@{
    ViewBag.Title = "User profile";
 }
 <section>
   <div class="noPadding">
    <div class="col-xs-12 noPadding">
        <h2>My profile</h2>

    </div>  etc....

だから私はいくつかのエラービューにリダイレクトしたくありませんが、エラーが発生した保存ビューにエラーを表示したいと思います。

私は何を間違っていますか?

4

0 に答える 0