asp.net错误页面处理示例分享
ASP错误页面处理的艺术:一个生动的例子
让我们深入一个ASP错误页面处理的示例。这不仅仅是一个简单的错误提示,而是一个精心设计的过程,旨在优雅地处理页面错误,同时提供有关错误的详细信息。这对于用户体验和故障排除至关重要。
一、全局错误处理(Global.asax)
我们需要在Global.asax文件中创建一个Application_Error事件处理程序来捕获和处理错误。这个处理程序将获取发生错误的详细信息,并将其重定向到一个自定义的错误页面。代码如下:
```csharp
void Application_Error(object sender, EventArgs e)
{
Exception objErr = Server.GetLastError().GetBaseException();
string error = "发生异常页: " + Request.Url.ToString() + "
";
error += "异常信息: " + objErr.Message + "
";
Server.ClearError();
Application["error"] = error;
Response.Redirect("~/ErrorPage/ErrorPage.aspx");
}
```
二、定制错误页面(前台部分)
接下来,我们创建一个定制的ErrorPage.aspx页面,用于优雅地显示错误信息。此页面包括一个复选框,用户可以选择查看详细的错误信息。页面的HTML和JavaScript代码如下:
```html
<%@ Page Language="C" AutoEventWireup="true" CodeFile="ErrorPage.aspx.cs" Inherits="ErrorPage" %>
function CheckError_onclick() {
var chk = document.getElementById("CheckError");
var divError = document.getElementById("errorMsg");
if(chk.checked){
divError.style.display = "inline";
}else{
divError.style.display = "none";
}
}