我在我的基本控制器中有这个
protected override void OnException(ExceptionContext filterContext)
{
if (filterContext.ExceptionHandled)
{
return;
}
var logger = new Logger();
logger.LogError(filterContext.Exception, ControllerContext.RouteData.Values["controller"].ToString());
filterContext.Result = new ViewResult
{
ViewName = "~/Views/Shared/Error.cshtml",
ViewData = new ViewDataDictionary()
{
{"exception", filterContext.Exception}
}
};
filterContext.ExceptionHandled = true;
}
我肯定有一个文件
Views/Shared/Error.cshtml
但是每当发生未处理的异常时,我都会在日志
中收到此错误未找到路径'/Views/Shared/Error.cshtml'。
但根据this article,这应该有用......
这怎么可能?
答案 0 :(得分:1)
我认为您不需要听到全名,因为它是默认页面。试试吧
filterContext.Result = new ViewResult
{
ViewName = "Error",
ViewData = new ViewDataDictionary()
{
{"exception", filterContext.Exception}
}
};
我希望这适合你!