在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)
};
}
}