2014-05-13 29 views
0

我只想用getlasterror對象顯示錯誤細節。如何使用asp.net 4.0獲取getlasterror()對象的錯誤細節

這裏是我的web配置代碼重定向自定義錯誤頁:

<customErrors mode="On" defaultRedirect="Error.aspx"/> 

這裏是我Error.aspx頁面代碼來捕獲錯誤:

using System; 
using System.Data; 
using System.Configuration; 
using System.Collections; 
using System.Web; 
using System.Web.Security; 
using System.Web.UI; 
using System.Web.UI.WebControls; 
using System.Web.UI.WebControls.WebParts; 
using System.Web.UI.HtmlControls; 
using System.Text; 
public partial class Error : newManageClass 
{ 
    protected void Page_Load(object sender, EventArgs e) 
    { 
     if (!Page.IsPostBack) 
     { 
      LoadError(Server.GetLastError()); 
     } 
    } 
    protected void LoadError(Exception objError) 
    { 
     if (objError != null) 
     { 
      StringBuilder lasterror = new StringBuilder(); 
      if (objError.Source != null) 
      { 
       //lasterror.AppendLine("Source:"); 
       //lasterror.AppendLine(objError.Source); 
       //lasterror.AppendLine(); 
       lbl_from_page.Text = objError.Source.ToString(); 
      } 
      if (objError.Message != null) 
      { 
       //lasterror.AppendLine("Message:"); 
       //lasterror.AppendLine(objError.Message); 
       //lasterror.AppendLine(); 
       lbl_errormessage.Text = objError.Message.ToString(); 
      } 
      //if (objError.InnerException != null) 
      //{ 
      // lasterror.AppendLine("StackTrace:"); 
      // lasterror.AppendLine(objError.StackTrace); 
      // lasterror.AppendLine(); 
      // lbl_error_desc.Text = objError.InnerException.ToString(); 
      //} 
      ViewState.Add("LastError", lasterror.ToString()); 
     } 
    } 
} 

我怎麼過不了細節從哪個頁面提供完整的網址和錯誤消息。

請幫我...

回答

0

您正在執行重定向,這意味着您從初始請求丟失的背景下,這樣您將無法訪問該異常。添加到您的web.config,而不是進行重寫:

<customErrors mode="On" defaultRedirect="Error.aspx" redirectMode="ResponseRewrite" /> 
+0

如何獲得正在拋出錯誤的頁面的完整url。在object.Source – Shal

0

您應該添加屬性redirectMode =「ResponseRewrite」,以確保Server.GetLastError()將不會返回null。

<customErrors mode="On" defaultRedirect="Error.aspx" redirectMode="ResponseRewrite"/> 

約源頁面(如發生錯誤)信息可以在Request.Url可隨後發現在redirectMode的情況下=「ResponseRewrite」,否則可以在URL參數發現?aspxerrorpath = ........

更多的信息在這裏ASP.NET custom error page - Server.GetLastError() is null

相關問題