我在 ASP.NET MVC 3 应用程序中设置了自定义/http 错误,这些错误将显示在错误中。我Web.Config
的httpErrors
部分如下所示:
<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>
我没有设置customerErrors
设置,因为这不适用于 MVC 和 IIS 7.5。
当代码中发生异常时,一切正常。
但是,当视图中引发异常时 - 它会尝试显示~/Views/Shared/Error.cshtml
我没有的默认值。
可能引发错误的视图可能是这样的:
@Html.Partial("TemplateSection", Model.PreContent)
并且想象PreContent
为空,并且TemplateSection
通过执行以下操作显示值时视图将失败:@Model.Name