Je veux une page d'erreur personnalisée affichée pour 500, 404 et 403. Voici ce que j'ai fait:
Activé les erreurs personnalisées dans le web.config comme suit:
<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>Enregistré
HandleErrorAttributecomme filtre d'action global dans laFilterConfigclasse comme suit:public static void RegisterGlobalFilters(GlobalFilterCollection filters) { filters.Add(new CustomHandleErrorAttribute()); filters.Add(new AuthorizeAttribute()); }Création d'une page d'erreur personnalisée pour chacun des messages ci-dessus. Celui par défaut pour 500 était déjà disponible dès la sortie de la boîte.
Déclaré dans chaque vue de page d'erreur personnalisée que le modèle de la page est
System.Web.Mvc.HandleErrorInfo
Pour 500, il affiche la page d'erreur personnalisée. Pour d'autres, ce n'est pas le cas.
Y a-t-il quelque chose qui me manque?
Il semble que ce ne soit pas tout ce qu'il faut pour afficher les erreurs personnalisées lorsque je lis le code dans la OnExceptionméthode de la HandleErrorAttributeclasse et qu'il n'en gère que 500.
Que dois-je faire pour gérer d'autres erreurs?