2009-05-29 52 views
1

假设我在aspx页面中有一个按钮,它将表单数据保存到数据库中。在关联的事件处理程序中,在发送更新之前,我从web服务读取了一些可能导致异常的操作。如果发生错误,我希望在页面上显示足够的消息,并保留表单中的所有数据。我怎样才能做到这一点?另外,我的所有页面都是从basepage继承的,所以我想,如果可能的话,在基类中包含所有的错误处理代码。如果可能的话,我不希望围绕任何使用try-catch块的Web服务调用,如果有任何未处理的异常会自动调用某些方法,如Page_error,但仍将数据保留在表单中。ASP.NET控件事件异常处理

回答

1

如果出现异常,您可以轻松地将管理显示消息(可能设置一些errorMessageLabel的文本)的方法放入从任何派生类调用的超类中(如果要使用继承为页面设置模板)抛出(如果实际上抛出异常,您可以将调用放入catch块中的superclas方法,或者如果webservice不可用(取决于您的编程风格),则可以手动管理该方法)。

至于保存所呈现的数据,如果viewstate处于打开状态,并且您没有动态填充页面,那么您就可以 - 如果不是,则需要在viewState或会话条目中显式保存状态信息,并将其恢复回来。出了点问题。 这一点真的取决于你的页面实际上是如何实现的。