Laut @ Amilas Beitrag und Bestätigung und Vervollständigung dieses Beitrags habe ich das gleiche Problem, ich grabe viel bei Google, hatte aber keine Chance, die richtige Antwort zu finden. Das Problem ist, wenn Sie mit arbeiten ASP.Net Web Application
, ob es sich MVC
um einen benutzerdefinierten Fehler handelt oder nicht, mit dem Sie auf die alte Art und Weise keinen benutzerdefinierten Fehler erzielen können Webform project
.
Hier die Option, wenn Sie verwenden ASP.Net Web Application
(ob es eine ist MVC
oder nicht):
In meinen Szenarien möchte ich nur einen benutzerdefinierten Fehler für einen bestimmten 404-Fehler definieren. Der andere Fehler ist genauso definiert wie der 404-Fehler:
Senario1: Ihre benutzerdefinierte Seite ist eine einfache HTML
Datei und befindet sich in root
:
<configuration>
<system.web>
<customErrors mode="Off" />
</system.web>
<system.webServer>
<httpErrors errorMode="Custom" existingResponse="Replace">
<remove statusCode="404" subStatusCode="-1" />
<error statusCode="404" path="ErrorPage.html" responseMode="File" />
</httpErrors>
</system.webServer>
</configuration>
Senario2: Ihre benutzerdefinierte Seite ist eine
aspx
Seite und wird platziert in
root
:
<configuration>
<system.web>
<customErrors mode="Off" />
</system.web>
<system.webServer>
<httpErrors errorMode="Custom" existingResponse="Replace">
<remove statusCode="404" subStatusCode="-1" />
<error statusCode="404" path="ErrorPage" responseMode="Redirect" />
</httpErrors>
</system.webServer>
</configuration>
Hinweis: Ich entferne die Aspx-Erweiterung aufgrund von RouteConfig.cs
in ASP.net application
. Sie können sie verwenden, ErrorPage.aspx
wenn Sie möchten. Sie ist optional.
Senario3: Ihre benutzerdefinierte Seite ist eine
aspx
Seite und befindet sich in
[ex: Page folder in The root (~/Page/ErrorPage.aspx)]
:
Der Tipp hier, den ich bemerkt habe, ist , dass Sie die Root-Adressierung
NICHT verwenden sollten~/
. Also adressiere ich einfach ohne
~/
Markierung:
<configuration>
<system.web>
<customErrors mode="Off" />
</system.web>
<system.webServer>
<httpErrors errorMode="Custom" existingResponse="Replace">
<remove statusCode="404" subStatusCode="-1" />
<error statusCode="404" path="Page/ErrorPage" responseMode="Redirect" />
</httpErrors>
</system.webServer>
</configuration>