2011-03-03 67 views
2

我有一個自定義的錯誤處理程序類這樣的自定義錯誤處理程序它陷阱錯誤確定。我的問題是,如何讓我的受困錯誤頁面從我的主頁面中受益?我可以從我的頁面訪問各個主頁,但我不太清楚當我處於這種深度時如何設置contentplaceholder。使用母版頁

+2

你會考慮使用ELMAH嗎? – adt 2011-03-03 23:44:27

+0

簡單的方法...重定向,例如:http://stackoverflow.com/questions/1348380/response-redirect-in-httpmodule – 2011-03-03 23:49:55

+0

我確定使用ELMAH,但是,我想顯示一個自定義錯誤消息,具體取決於異常我很抓狂。在我的應用程序的其他地方,我有時會提出意義上的例外,比如拒絕訪問或其他任何內容。 – 2011-03-03 23:53:39

回答

0

在ASP.NET中,應用程序錯誤事件可以在頁面生命週期中的任何時候引發,您可能一次執行錯誤處理程序,但修改該頁面完全是非法的。如果它是允許的,你可以通過FindControl獲得你想要修改或替換的元素的引用。同樣,如果時間合法,您可以修改控件的控件集合,或者添加或刪除控件的控件集合中的控件以實現最終期望的呈現。

我希望我的假設對你的情況是正確的如果他們是我沒想過你爲什麼不簡單地在Global.asax/.cs中實現Application_Error?這將自動連線到ASP.NET應用程序的OnError事件。在該處理程序中,您將具有可用於請求,響應和會話的引用。

此外,您應該知道,HttpContext.Current.Handler可以並將在生命週期的某些階段返回null。例如,在請求被轉交給處理程序之前,例如在認證請求期間發生錯誤。

+0

我正在使用umbraco作爲我的項目的一部分,因此我無權訪問global.cs文件。 – 2011-08-05 21:08:07