![]() |
|
Модераторы: gambit |
![]()
|
|
| Sirius_UZ |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 13.6.2007 Репутация: нет Всего: нет |
Как отловив Exception в Page_Error отобразить его на той же странице.
Exception возникает при обработке нажатий кнопок на странице. Используя код:
получаю только пустую страницу. Что в принципе и логично(наверное), Exception то прерывает процесс обработки запроса. Т.е. скорее всего надо его(процесс) восстановить. Но как??? Обработку Exception в блоках try{...}catch{...} использовать не хочется из-за однотипности возникающего исключения и однотипности его обработки, да ко всему прочему хотелось бы иметь унифицированный механизм обработки данного типа Exception используя наследование страничек от базовой, в которой стоит обработчик(хотя можно и на каждой). Поэтому хотелось бы обрабатывать этот тип исключений на текущей странице, а все остальные можно и в Application_Error в Global.asax или в HttpModule, с выводом сообщения об ошибке на отдельной странице. Что можете посоветовать уважаемые? |
|||
|
||||
| tol05 |
|
||||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1632 Регистрация: 21.12.2006 Где: Харьков Репутация: 34 Всего: 170 |
никак. Exception прерывает конвейер обработки запроса на уровне страницы. Если exception не обработано в Page_Error - то и на уровне приложения. Тогда действительно его нужно перехватывать в global.asax ИМХО логично. Можешь сделать свой базовый класс, наследник от Page, а свои страницы наследовать уже от него. И в эотм самом классе можно попробовать определить метод Page_Error с обработкой наиболее распространенных исключений. -------------------- На хорошей работе и сны хорошие снятся. |
||||||
|
|||||||
| Sirius_UZ |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 13.6.2007 Репутация: нет Всего: нет |
Спасибо за ответ.
Данный код выведет сообщение об ошибке, но текущая страница со всеми ее текст боксами и прочими компонентами не появиться... В итоге получается что Page_Error - событие для обработки, в котором можно обработать Exception, выполнив необходимые действия, но ошибку при этом показать на текущей странице никак не получиься, только выплюнув используя Server.Transfer, либо используя custom errors pages, либо банальным Response.Redirect. Если хочется сохранить все данные странички и отобразить их вместе с сообщением об ошибке, то необходимо обрабатывать Exception в обработчике нажатия на кнопку(грубо говоря в конвеере обработки запроса) и соответственно вывешивать сообщение об ошибке. Я правильно понимаю ситуацию? Других вариантов нету? |
||||
|
|||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Любитель, Mymik, mr.DUDA. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Разработка под ASP.NET | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |