2009-02-04 3 views
0

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

После того, как упражнение было обработано в моем User Control, я захотел выбросить его на страницу, где разбор и перенаправление могут происходить безопасно. Я делаю это в других обстоятельствах, используя Global Asax, Application_Error для решения проблемы с перенаправлением и т. Д., Однако все, что произошло, когда я выбрал исключение из пользовательского contorl, было у меня ужасное диалоговое окно типа javascript с сообщением об исключении.

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

Мой вопрос (ы) эти

  1. Почему бросает исключение из пользовательского элемента управления приводят только в яваскрипта диалоге, а не ошибка Global.asax обработки ногами в.

  2. Есть ли способ , чтобы заставить потребителей управления обрабатывать мою собственную ошибку событие? Simialr в «MustImplement» ----- «MustHandle»?

+0

Вы используете ASP.NET Ajax, не так ли? Или какой-либо другой набор элементов управления PAD AJAX? – splattne

+0

Да, используя ASP.NET с Ajax Control Toolkit – Dean

ответ

1
  1. Почему бросает исключение из пользовательского элемента управления приводят только в в яваскрипта диалог, а не Global.asax обработки ошибок ногами в.

Потому что ошибка страницы во время асинхронной обратной передачи, вот хорошая статья на Error Handling in ASP.Net Ajax Applications.

2.Есть ли способ заставить потребителей контроля обрабатывать мою собственную ошибку событие? Simialr в «MustImplement» ----- «MustHandle» - это роман?

This объясняет, как обрабатывать асинхронные обратные ошибки в Global.asax.

0

Я не разбираюсь в ASP.NET, но я дам ему выстрелили:

  1. Почему бросает исключение из пользовательского элемента управления только привести в яваскрипта диалоге, а не ошибка Global.asax Погрузочно-разгрузочные работы ногами в.

ошибка возникает на стороне клиента, ваша обработка ошибок происходит на стороне сервера. Если вы не выполняете обратный вызов AJAX-y, который срабатывает при ошибках, сервер не уведомляется о каких-либо ошибках на стороне клиента. Это не похоже на поведение по умолчанию в ASP.NET. Вы можете проверить библиотеку Microsoft AJAX, конечно, у них уже есть механизм для таких вещей.

  1. Есть ли способ заставить потребителей элемента управления обрабатывать мое пользовательское событие ошибки? Simialr в «MustImplement» ----- «MustHandle»?

Простой ответ: нет.

Смежные вопросы