无法从.NET Core 3.0中的ExceptionFilterAttribute访问控制器

时间:2019-10-09 07:01:35

标签: .net-core actionfilterattribute onexception

在MVC5中,我们可以访问控制器并可以在同一视图中显示异常,而无需重定向到标准错误页面。但是,由于filtercontext无法访问控制器,因此我们无法在.Net Core 3.0中执行此操作。 是否可以借助<div asp-validation-summary="ModelOnly" class="text-danger"></div>在同一视图中显示异常消息?

 public class ExceptionHandlerAttribute:FilterAttribute,IExceptionFilter
    {
        public void OnException(ExceptionContext filterContext)
        {
            var message = filterContext.Exception.Message;

            filterContext.Controller.ViewData.ModelState.AddModelError("",message);

            filterContext.ExceptionHandled = true;

            filterContext.Result = new ViewResult
            {
                ViewData = new ViewDataDictionary(filterContext.Controller.ViewData)
            };

        }
    }

0 个答案:

没有答案