我想要一个自定义错误页面显示为500,404和403.以下是我所做的:
-
已在web.config中启用自定义错误,如下所示:
<customErrors mode="On" defaultRedirect="~/Views/Shared/Error.cshtml"> <error statusCode="403" redirect="~/Views/Shared/UnauthorizedAccess.cshtml" /> <error statusCode="404" redirect="~/Views/Shared/FileNotFound.cshtml" /> </customErrors>
-
在
FilterConfig
类中将HandleErrorAttribute
注册为全局操作筛选器,如下所示:public static void RegisterGlobalFilters(GlobalFilterCollection filters) { filters.Add(new CustomHandleErrorAttribute()); filters.Add(new AuthorizeAttribute()); }
为上述每条消息创建了一个自定义错误页.500美元的默认价格已经是现成的了.
在每个自定义错误页视图中声明该页的模型为
System.Web.Mvc.HandleErrorInfo
对于500,它显示自定义错误页面.对其他人来说,情况并非如此.
我有什么遗漏吗?
当我通读HandleErrorAttribute
类的OnException
方法中的代码时,显示自定义错误的方法看起来并不是全部,它只处理500个.
我必须做些什么来处理其他错误?