Обработка исключений событий элемента управления ASP.NET

Предположим, у меня есть кнопка на странице aspx, которая выполняет сохранение данных формы в базу данных. В связанном обработчике событий перед отправкой обновлений я прочитал что-то из веб-службы, операция, которая может привести к исключению. В случае ошибки я хочу, чтобы на странице отображалось адекватное сообщение, а все данные в форме сохранялись. Как я могу этого добиться? Кроме того, все мои страницы наследуются от базовой страницы, поэтому я хотел бы, если это возможно, иметь весь код обработки ошибок в базовом классе. Я не хочу по возможности окружать любой вызов веб-сервиса блоками try-catch, я бы в случае любого необработанного исключения автоматически вызывал какой-то метод, что-то вроде Page_error, но все равно сохранял бы данные в своих формах.


person kjv    schedule 29.05.2009    source источник


Ответы (1)


Вы можете легко поместить метод, который управляет отображаемым сообщением (возможно, устанавливая текст некоторого errorMessageLabel) в суперкласс, вызываемый из любого производного класса (если вы хотите использовать наследование для настройки шаблона для ваших страниц), если выдается исключение (вы можете поместите вызов метода superclas в блок catch, если на самом деле возникает исключение, или вы можете управлять этим вручную, если веб-сервис недоступен, в зависимости от вашего стиля программирования).

Что касается сохранения представленных данных, если состояние просмотра включено, и вы не заполняете свою страницу динамически, тогда все в порядке - если нет, вам нужно явно сохранить информацию о состоянии в записях состояния просмотра или сеанса и получить их обратно, если что-то пойдет не так. Этот бит действительно зависит от того, как на самом деле реализована ваша страница.

person JohnIdol    schedule 29.05.2009