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 中收到空引用异常。3 错误消息:App_Web_dc1p1y1y.dll 中出现“System.NullReferenceException”类型的异常,但未在用户代码中处理

我的 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....

所以我不想重定向到一些错误视图,但我想在它发生的 samve 视图上显示错误。

我究竟做错了什么 ?

4

0 回答 0