Ich habe benutzerdefinierte/HTTP-Fehler in einer ASP.NET MVC 3-Anwendung eingerichtet, die bei Fehlern angezeigt werden. Meine Web.Config
‚s httpErrors
Abschnitt sieht wie folgt aus:MVC 3 Benutzerdefinierte/HTTP-Fehlerseiten für View-Ausnahmen nicht angezeigt
<httpErrors errorMode="Custom" existingResponse="Replace">
<remove statusCode="400" />
<remove statusCode="403" />
<remove statusCode="404" />
<remove statusCode="408" />
<remove statusCode="500" />
<remove statusCode="503" />
<error statusCode="400" responseMode="ExecuteURL" path="/Error/BadRequest" />
<error statusCode="403" responseMode="ExecuteURL" path="/Error/Forbidden" />
<error statusCode="404" responseMode="ExecuteURL" path="/Error/NotFound" />
<error statusCode="408" responseMode="ExecuteURL" path="/Error/Timeout" />
<error statusCode="500" responseMode="ExecuteURL" path="/Error/InternalServerError" />
<error statusCode="503" responseMode="ExecuteURL" path="/Error/ServiceUnavailable" />
</httpErrors>
ich nicht die customerErrors
Einstellung eingestellt haben, da dies nicht gut mit MVC funktioniert & IIS 7.5.
Alles funktioniert gut, wenn eine Ausnahme im Code auftritt.
Wenn jedoch eine Ausnahme in einer Ansicht ausgelöst wird - versucht es, den Standard ~/Views/Shared/Error.cshtml
anzuzeigen, den ich nicht habe.
Die Ansicht, dass sein könnte, könnte dies einen Fehler aus:
@Html.Partial("TemplateSection", Model.PreContent)
Und stell dir vor PreContent
ist null, und die TemplateSection
Ansicht wird fehlschlagen, wenn die Werte anzeigt, indem Sie diese: @Model.Name