• Asp.Net自定义错误页面


        当应用程序出错时,我不希望用户看到一个错误提醒页面,而不是看到一堆乱码。

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

  • 相关阅读:
    tctip demo页面>
    tctip demo页面>
    tctip demo页面>
    tctip demo页面>
    tctip demo页面>
    tctip demo页面>
    tctip demo页面>
    tctip demo页面>
    tctip demo页面>
    sql 随笔
  • 原文地址:https://www.cnblogs.com/scottckt/p/1441199.html
Copyright © 2020-2023  润新知