请教跳转到一个友好错误页的问题
程序如果出错,我一直是这样用的,现在我想跳转到一个单独的错误页面,然后显示错误信息,我在网上找了一下,说用
Global.asax,把代码写进去后,不知道这个出错的页面如何能跳到那个友好错误页?请教大家!谢谢。比如出错页为call.aspx,要跳转到errorpage.aspx,应该在call.aspx里怎么写代码呢?call.aspx在子目录里,errorpage.aspx在根目录里
catch (Exception ex) { Response.Write("error.aspx?ErrorMsg=" + ex.Message.Replace("<br>", "").Replace("\n", "") + "&ErrorUrl=" + Request.Url.ToString().Replace("<br>", "").Replace("\n", "")); }
//这段代码是我网上找的,如果有不对的地方,指高手指出void Application_Error(object sender, EventArgs e) { Exception ex = Server.GetLastError().GetBaseException(); string errorTime = "发生时间:" + DateTime.Now.ToString(); string errorAddress = "发生异常页:" + Request.Url.ToString(); string errorInfo = "异常信息:" + ex.Message; string errorSource = "错误源:" + ex.Source; string errorTrace = "堆栈信息:" + ex.StackTrace; Server.ClearError(); System.IO.StreamWriter writer = null; try { lock (this) { //写入日志 string year = DateTime.Now.Year.ToString(); string month = DateTime.Now.Month.ToString(); string day = DateTime.Now.Day.ToString(); string path = string.Empty; string filename = DateTime.Now.ToString("yyyyMMdd") + ".txt"; path = Server.MapPath("~/Error/") + year + month + day; if (!System.IO.Directory.Exists(path)) { System.IO.Directory.CreateDirectory(path); } System.IO.FileInfo file = new System.IO.FileInfo(path + "/" + filename); writer = new System.IO.StreamWriter(file.FullName, true);//文件不在则创建,true表示追加 writer.WriteLine("用户IP:" + Request.UserHostAddress); writer.WriteLine(errorTime); writer.WriteLine(errorAddress); writer.WriteLine(errorInfo); writer.WriteLine(errorSource); writer.WriteLine(errorTrace); writer.WriteLine("-------------------------------------------------------"); } } finally { if (writer != null) { writer.Close(); } } Server.Transfer("errorpage.aspx"); //跳转到显示友好错误的页面 }
catch (Exception ex) { Response.Write("../../error.aspx?ErrorMsg=" + ex.Message.Replace("<br>", "").Replace("\n", "") + "&ErrorUrl=" + Request.Url.ToString().Replace("<br>", "").Replace("\n", "")); }