Asp.Net自定义错误页面
2009-04-22 11:51
661 查看
当应用程序出错时,我不希望用户看到一个错误提醒页面,而不是看到一堆乱码。
方法1:简单的自定义错误处理页面可以通过web.config来设置:
<customErrors mode="RemoteOnly" defaultRedirect="error.aspx">
<error statusCode="403" redirect="error.aspx" />
<error statusCode="404" redirect="error.aspx" />
</customErrors>
方法2:通过Global.asax中的Application_Error事件实现
Global.asax中的Application_Error事件的示例代码:
void Application_Error(object sender, EventArgs e)
{
// 在出现未处理的错误时运行的代码
Exception objErr = Server.GetLastError().GetBaseException();
string sError = "发生异常页: " + HttpContext.Current.Request.Url.ToString() + "</br>";
sError += "异常信息: " + objErr.Message + "</br>";
//清除前一个异常
Server.ClearError();
//此处理用Session["ProError"]出错。所以用 Application["ProError"]
Application["ProError"] = sError;
//string sPath = HttpContext.Current.Request.ApplicationPath;
//此处是不是page中,不能用Response.Redirect("../frmSysError.aspx");
System.Web.HttpContext.Current.Response.Redirect(HttpContext.Current.Request.ApplicationPath + "/error.aspx");
} 错误页面error.aspx的代码:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
//显示程序中的错误码
if (Application["ProError"] != null)
{
lblError.Text = Application["ProError"].ToString();
}
}
}
方法2代码下载:Global_Study.rar
方法1:简单的自定义错误处理页面可以通过web.config来设置:
<customErrors mode="RemoteOnly" defaultRedirect="error.aspx">
<error statusCode="403" redirect="error.aspx" />
<error statusCode="404" redirect="error.aspx" />
</customErrors>
方法2:通过Global.asax中的Application_Error事件实现
Global.asax中的Application_Error事件的示例代码:
void Application_Error(object sender, EventArgs e)
{
// 在出现未处理的错误时运行的代码
Exception objErr = Server.GetLastError().GetBaseException();
string sError = "发生异常页: " + HttpContext.Current.Request.Url.ToString() + "</br>";
sError += "异常信息: " + objErr.Message + "</br>";
//清除前一个异常
Server.ClearError();
//此处理用Session["ProError"]出错。所以用 Application["ProError"]
Application["ProError"] = sError;
//string sPath = HttpContext.Current.Request.ApplicationPath;
//此处是不是page中,不能用Response.Redirect("../frmSysError.aspx");
System.Web.HttpContext.Current.Response.Redirect(HttpContext.Current.Request.ApplicationPath + "/error.aspx");
} 错误页面error.aspx的代码:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
//显示程序中的错误码
if (Application["ProError"] != null)
{
lblError.Text = Application["ProError"].ToString();
}
}
}
方法2代码下载:Global_Study.rar
相关文章推荐
- asp.net中创建自定义的错误处理页面
- asp.net 自定义错误页面 问题
- 新西兰程序员 ASP.NET网站中设置404自定义错误页面
- asp.net自定义错误处理页面的几种方法
- ASP.NET自定义错误处理页面的添加
- 在ASP.NET MVC 如何在Response.StatusCode = 404的同时,显示友好的自定义错误页面
- 在ASP.NET Core中显示自定义的错误页面
- Asp.net MVC 自定义错误页面以及return HttpNotFound遇到的问题
- ASP.NET自定义错误处理页面的添加
- ASP.NET自定义错误页面(转)
- ASP.NET自定义错误页面
- 解决 ASP.NET Core 自定义错误页面对 Middleware 异常无效的问题
- ASP.NET Core中显示自定义错误页面
- asp.net mvc输出自定义404等错误页面,非302跳转
- ASP.NET网站中设置404自定义错误页面
- asp.net自定义错误页面
- ASP.NET自定义的错误页面
- Asp.Net自定义错误页面
- ASP.NET 记录页面错误及自定义错误页
- ASP.NET自定义错误页面,分离配置信息,多环境发布