protected void Application_Error(object sender, EventArgs e)
{
Exception ex = this.Server.GetLastError();
this.Server.ClearError();
string errorMessage = ex.Message;
logger.Error(errorMessage, ex);
Response.Redirect("~/Error.aspx");
}
0
A
回答
0
在這種情況下,我寧願會議。然後,您可以保留完整的異常,包括堆棧跟蹤以進一步處理。但您無法直接在Application_Error
中訪問會話。這應該工作:
private void Application_Error(object sender, EventArgs e)
{
Exception ex = this.Server.GetLastError();
// ...
HttpApplication application = (HttpApplication)sender;
HttpContext context = application.Context;
context.Session["LastError"] = ex;
Response.Redirect("~/Error.aspx");
}
現在,您可以訪問例外Error.aspx
這樣:
protected void Page_Load(Object sender, EventArgs e)
{
Exception ex = (Exception)Session["LastError"];
}
+0
有沒有必要重定向頁面?我怎樣才能檢索另一頁上的消息? – ashT
+0
@ashT:但我已重定向 –
0
我認爲你可以使用Server.Transfer
在Global.asax
:
void Application_Error(object sender, EventArgs e)
{
// Code that runs when an unhandled error occurs
//direct user to error page
Server.Transfer("~/Error_Pages/ErrorPage500.aspx");
}
而在你的錯誤頁面,您可以得到內部異常來檢查實際發生的異常:
protected void Page_Load(object sender, EventArgs e)
{
LoadError(Server.GetLastError());
}
protected void LoadError(Exception objError)
{
Exception innerException = null;
if (objError != null)
{
if (objError.InnerException != null)
{
innerException = objError.InnerException;
}
}
}
相關問題
- 1. 如何從另一個.aspx頁面更新一個.aspx頁面的div?
- 2. 如何傳遞值一個ASPX到另一個aspx頁面
- 3. 如何從aspx頁面重定向到另一個aspx頁面的方法
- 4. 從一個aspx頁面
- 5. 找到一個aspx頁面
- 6. 將多個ID從第一個aspx頁面存儲到下一個aspx頁面
- 7. 從另一個ASPX頁面顯示DIV?
- 8. 如何將值從一個aspx頁面傳遞到HTML頁面?
- 9. 如何在另一個aspx頁面中包含aspx頁面?在asp.net
- 10. 我如何讓1 .aspx頁面使用另一個.aspx頁面的代碼?
- 11. 如何在aspx c#頁面中創建另一個頁面類
- 12. 從一個頁面輸入的信息到另一個頁面
- 13. 在一個aspx頁面
- 14. 下一個aspx頁面
- 15. 從一個aspx頁面讀取值到另一個
- 16. 從另一個aspx調用aspx,html頁面
- 17. 如何從處理程序頁面發送ID到aspx頁面
- 18. 從另一個aspx頁面取出xml頁面
- 19. 如何在另一個aspx頁面的更新面板中放置一個aspx頁面
- 20. 如何從另一個.aspx頁面獲取Global.asax中的log4net日誌信息?
- 21. 使用C#從一個.aspx頁面重定向到另一個.aspx頁面使用C#
- 22. 傳送信息/從一個頁面變量到另一個
- 23. 如何將信息從一個html頁面發送到另一個?
- 24. 如何解析一個aspx頁面
- 25. Html ..如何使用從一個頁面到另一個頁面的信息?
- 26. 從另一臺PC調用aspx頁面
- 27. 當通過另一個aspx頁面的javascript打開aspx頁面時,不會觸發PageLoad事件頁面
- 28. 將一個aspx頁面轉到鏈接?
- 29. 將數據發佈到另一個aspx頁面
- 30. 如何在ASP.NET中打開一個像aspx頁面的aspx頁面
你可以在asp.net中使用session,這是我能想到的最簡單的方法 –
嘗試使用查詢字符串,傳遞錯誤代碼。 – User2012384
在這種情況下,我寧願會話。然後,您可以保留完整的異常,包括堆棧跟蹤以進一步處理。 –