2012-05-31 8 views
6

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

Antwort

1

I this article lesen und Ich hatte keine Probleme, seit ich den Code vor 48 Stunden in Produktion genommen habe. Mach einen Wirbel.