中国设计联盟
联网
平面设计 画册 VI欣赏 包装 CG-插画 搜索 个人网页 Alexa排名 CSS 建站资源 下载专区 JS特效 品牌服装 服装院校 专题欣赏 SEO 图标欣赏 专题
网站建设 域名注册 虚拟主机 广州网站设计 域名注册 广州网站建设 上海网站建设 虚拟主机 广州网页设计  虚拟主机 域名注册 acg王国 ACG玩家
求创科技
网站建设
中国福网
招聘求职
中国互联
艺魂宝库网
中资源
当前位置:网络学院首页 >> 编程开发 >> .net >> ASP.NET错误处理页面的定制方法

ASP.NET错误处理页面的定制方法

来源:中国设计秀    作者:    点击:33     加入收藏    发表评论
0
顶一下
     如果想通过编程的方式来呈现错误原因,可以通过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

<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>


我们可以对errorpage这页做一些更亲切的设计,让人看起来更舒服些。
2007-07-31 10:39:00    出处:
Google
网站地图 | 关于我们 | 联系我们 | 网站建设 | 广告服务 | 版权声明 | 免责声明 | 网站公告 | 友情链接 | 留言 | 旧版入口