2011-03-03 68 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