Kann jemand erklären, warum meine benutzerdefinierten Fehlerseiten in MVC mit Windows-Authentifizierung funktionieren, wenn ich auf http://localhost:port/controler/blabla/blabla
zugreifen, aber wenn ich versuche, auf http://localhost:port/controler/action/blabla/blabla
zugreifen, ruft es nicht meine benutzerdefinierten 404-Seite aber zeigt ein leeres Fenster.404-Seite wird nicht jedes Mal in MVC behandelt
Zum Beispiel, wenn ich http://localhost:port/Home/blabla/blabla
aufrufen, wird meine benutzerdefinierte Seite aufgerufen; aber wenn ich (die gleiche URL mit Aktion hinzugefügt) aufrufen, zeigt es die leere Seite. Ist es etwas mit meiner Konfiguration?
Meine config:
<customErrors mode="On" defaultRedirect="~/UnAuthorized/ErrorDefault/?error=1">
<error statusCode="404" redirect="~/UnAuthorized/ErrorResourceNotFound/?error=1"/>
<error statusCode="403" redirect="~/UnAuthorized/ErrorResourceNotFound/?error=1"/>
<error statusCode="500" redirect="~/UnAuthorized/ErrorDefault/?error=1"/>
</customErrors>
<httpErrors errorMode="Custom">
<remove statusCode="404" subStatusCode="-1"/>
<remove statusCode="403" subStatusCode="-1"/>
<remove statusCode="500" subStatusCode="-1"/>
<error statusCode="404" subStatusCode="-1" prefixLanguageFilePath="" path="~/UnAuthorized/ErrorResourceNotFound/?error=1" responseMode="ExecuteURL" />
<error statusCode="403" subStatusCode="-1" path="~/UnAuthorized/ErrorResourceNotFound/?error=1" responseMode="ExecuteURL" />
<error statusCode="500" subStatusCode="-1" path="~/UnAuthorized/TestPage" responseMode="ExecuteURL" />
</httpErrors>
Ich würde sagen, 'http: // localhost: port/Home/blabla/blabla 'wird versuchen' HomeController.blabla (blabla) 'aufzurufen, wo die' blabla' Aktion nicht existiert (und daher zu 404 umgeleitet wird), und 'http: // localhost: port/Home/Index/blabla ruft' auf HomeController.Index (blabla) ', wo die 'Index'-Aktion existiert. – gobes
mögliches Duplikat von http://stackoverflow.com/questions/310580/how-can-i-make-a-catch-all-route-to-handle-404-page-not-found-queries-for-asp –