Your Ad Here
首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 编程语言 > .NET > VB.NET > ASP.NET定制错误处理页面
【标  题】:ASP.NET定制错误处理页面
【关键字】:ASP.NET
【来  源】:http://www.cnblogs.com/boundless/archive/2007/01/16/621268.html

ASP.NET定制错误处理页面

Your Ad Here ASP.NET定制错误处理页面 - 汪洋Blogs - 博客园

汪洋Blogs

共同讨论.net,大家共同进步!

博客园 首页 新随笔 联系 聚合 管理
  13 Posts :: 0 Stories :: 43 Comments :: 0 Trackbacks
通常web应用程序在发布后,为了给用户一个友好界面和使用体验,都会在错误发生时跳转至一个自定义的错误页面,而不是asp.net向用户暴露出来的详细的异常列表。

  简单的错误处理页面可以通过web.config来设置

<customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">
 <error statusCode="403" redirect="NoAccess.htm" />
 <error statusCode="404" redirect="FileNotFound.htm" />
</customErrors>

  如果想通过编程的方式来呈现错误原因,可以通过Page_Error事件来做这件事。

  另一种方式则可以通过Global.asax来实现,我觉得这种方式较为方便,另外如果能结合一个单独的更加友好的页面,则看来起更舒服一些:

  Global.asax(如果需要,可以记录错误日志)

void Application_Error(object sender, EventArgs e)
{
 Exception objErr = Server.GetLastError().GetBaseException();
 string error = "发生异常页: " + Request.Url.ToString() + "<br>";
 error += "异常信息: " + objErr.Message + "<br>";
 Server.ClearError();
 Application["error"] = error;
 Response.Redirect("~/ErrorPage/ErrorPage.aspx");
}
ErrorPage.aspx

protected void Page_Load(object sender, EventArgs e)
{
 ErrorMessageLabel.Text = Application["error"].ToString();
}

  当最终用户使用应用程序的时候,他们可能不想知道错误的原因,这个时候,我们可以通过复选框来实现,是否呈现错误的原因。可将Label放在一个div中,然后用复选框来决定是否呈现div

<script language="javascript" type="text/javascript">
<!--
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";
 }
}

// -->
</script>

ASP.NET定制简单的错误处理页面


  我们可以对errorpage这页做一些更亲切的设计,让人看起来更舒服些。 

         关注Ajax, Asp.net开发动态请到中国聚合开发者:http://www.cnjuhe.com/net/
posted on 2007-01-16 02:06 汪洋 阅读(13) 评论(0)  编辑 收藏 引用 网摘
我讨论WPF/E,Orcas,IIS7和MIX的采访录像:【上一篇】
英语阅读推荐:使用AJAX+WF+LINQ制作Google IG式首页:【下一篇】
【相关文章】
  • Ajax in Asp.net
  • ASP.NET 2.0服务器控件开发精要
  • ASP.NET 2.0服务器控件之复合控件
  • vs2005不能找到"ASP.NET网站"之郁闷
  • asp.net 2.0 与1.1 在生成的前台页面内容方面的一点不同
  • 下载PDF 格式的ASP.NET AJAX 备忘表
  • ZT:ASP.Net与ASP的区别
  • 实际项目开始asp.net2.0 ado.net的编程(1)
  • ASP.NET2.0 连接 SQL SERVER2000 问题
  • ASP.NET定时执行任务
  • 【随机文章】
  • OpenLDAP管理员指南
  • 变革的艺术--分析元祖食品变革管理之道
  • 安装和使用Google Earth - Linux
  • 电磁振动台,振动试验台
  • windows核心编程--作业
  • 修改注册表使电脑更个性化
  • 计算机帐户丢失故障解决方案
  • 函数名称 FileGetDate
  • linux ip设置
  • 通过时间校验学习JavaScript正则表达式
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 软讯网络 All Rigths Reserved.