2010-04-20 74 views
0

我对ASP.NET编程和一般的web编程都比较陌生。我们有一个我们最近从.NET 1.1移植到3.5的站点。目前,我们有两种错误处理方法:在页面上加载数据时捕获错误,并在页面上的标签中显示格式错误或重定向到一般错误页面。这两个都有点烦人,因为现在我正试图重新设计我们的错误显示方式。ASP.NET 3.5网站中错误处理的设计模式

我们很快转向Master页面,我在想是否有一种方法可以“内置”错误处理控件。我的意思是使用我设计的ASP.NET用户控件,它简单地传递从服务器返回的错误字符串。如果发生错误,页面将不显示内容,而是显示错误控制。这为我们提供了在错误期间保留当前横幅/导航的能力(我们没有使用通用错误页面),以及使我无需将控件添加到每个aspx页面(我必须使用标签每页系统)。像这样的事情是有道理的吗?最终,我只想将错误控制添加到单个页面,并且所有其他页面都可以直接访问它。这是母版页帮助的东西吗?

谢谢!

回答

2

用户在global.asax中的application_error事件来捕获所有未处理的错误 - 您可以在这里登录它们。您不应该像这样向客户端输出错误消息。

使用web.config中的CustomErrors部分为您的用户定义自定义错误页面。

你也可以看看使用ELMAH这样的东西来轻松登录。

+0

感谢您链接到ELMAH,我们可能会使用类似这样的内容。我们遇到的真正问题不是未处理的异常,更多的是我们的服务器在数据检索期间返回错误。以及如何设计网站,以便每个页面以与用户相同的方式显示错误。 – Kevin 2010-04-20 18:16:13

+1

好的,您可以考虑在您的母版页上提供一种方法来设置错误标签的文本,这可能是一种持续写出解释性错误消息的方式。 – Paddy 2010-04-21 08:44:10