События и обработка событий в VB - PullRequest
0 голосов
/ 04 февраля 2009

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

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

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

Мой вопрос (ы):

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

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

Ответы [ 2 ]

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

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

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

В этом объясняется, как обрабатывать асинхронные ошибки обратной передачи в Global.asax.

0 голосов
/ 04 февраля 2009

Я не разбираюсь в ASP.NET, но попробую:

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

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...