<customErrorsdefaultRedirect="~/ErrorPages/ErrorDefault.htm"mode="On">
<!--由于语法格式有误,服务器无法理解此请求。-->
<errorstatusCode="400"redirect="~/ErrorPages/Error400.htm"/>
<!--数据库无法连接-->
<errorstatusCode="403"redirect="~/ErrorPages/Error403.htm"/>
<!--Web 服务器找不到您所请求的文件或脚本。请检查URL 以确保路径正确。-->
<errorstatusCode="404"redirect="~/ErrorPages/Error404.htm"/>
<!--Web 服务器不能执行此请求。请稍后重试此请求。-->
<errorstatusCode="500"redirect="~/ErrorPages/Error500.htm"/>
</customErrors>
重定向到自定义错误页面
网站通常包含诸多页面,因此很难保证每个页面在运行时都不会发生错误。当页面发生错误时会产生详细的错误信息,这些信息对于普通访问者来说晦涩难懂,因此需要在客户端以一个友好的页面向用户提示错误信息。此时,可以通过配置“Web.config”文件,在页面发生错误时将程序重定向到自定义的错误页面。
在“Web.config”文件中,配置连接错误页面是在<customErrors></customErrors>节点中完成的,其中可以配置的属性如表5-11所示。
表5-11 重定向到错误页面使用的属性
属 性
说 明
mode
指定是否启用或禁用自定义错误,包括:On(启用自定义错误)、Off(禁用自定义错误)、RemoteOnly(服务器端显示ASP.NET给出的详细错误信息,而客户端显示自定义的错误页面)
defaultRedirect
指定页面发生错误时,重定向到的默认页面地址
例如,下面的代码演示了页面发生错误时,将程序重定向到error.aspx:
<customErrors mode="On" defaultRedirect ="error.aspx"></customErrors>
在<customErrors>节点下还可以设置子节点<error>,通过该子节点可以将HTTP的状态代码与自定义错误页关联起来。此时,在子节点<error>中可以设置的属性如表5-12所示。
表5-12 子节点<error>中使用的属性
属 性
说 明
statusCode
指定发生的错误HTTP状态代码
redirect
指定发生错误时重定向到的页面地址
例如,下面的代码显示了在发生401错误(未授权)和404错误(未找到)时,分别将重定向到自定义的错误页面Unauthorized