Ich möchte eine benutzerdefinierte Fehlerseite für 500, 404 und 403 anzeigen. Folgendes habe ich getan:
Benutzerdefinierte Fehler in der web.config wurden wie folgt aktiviert:
<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>
HandleErrorAttribute
Als globaler Aktionsfilter in derFilterConfig
Klasse wie folgt registriert :public static void RegisterGlobalFilters(GlobalFilterCollection filters) { filters.Add(new CustomHandleErrorAttribute()); filters.Add(new AuthorizeAttribute()); }
Für jede der oben genannten Nachrichten wurde eine benutzerdefinierte Fehlerseite erstellt. Die Standardeinstellung für 500 war bereits sofort verfügbar.
In jeder benutzerdefinierten Fehlerseitenansicht wird angegeben, dass das Modell für die Seite ist
System.Web.Mvc.HandleErrorInfo
Für 500 wird die benutzerdefinierte Fehlerseite angezeigt. Für andere nicht.
Fehlt mir etwas?
Es sieht so aus, als ob dies nicht alles ist, um benutzerdefinierte Fehler anzuzeigen, während ich den Code in der OnException
Methode der HandleErrorAttribute
Klasse durchlese, und es werden nur 500 verarbeitet.
Was muss ich tun, um andere Fehler zu behandeln?