Я использую панель обновления и регистрирую обработчик для endRequest для отлова ошибок:
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);
На сервере выдается исключение для проверки клиентской стороны. Проблема в том, что в IE и FireFox EndRequestHandler никогда не вызывается! Он работает как положено в Opera и Safari.
На простой странице с несколькими элементами управления она работает, как и ожидалось, во всех браузерах. Что я обнаружил с помощью Firebug, так это то, что ответ Content-length: 67, но ответа нет (пустая вкладка для ответа)! Ожидаемый ответ
53 | error | 500 | Ссылка на объект не установлена на экземпляр объекта. |
например.
Я не отладил библиотеку ajax точно, но я видел, что какой-то код запускается для подготовки к событию pageLoading (возможно, потому что он не может обнаружить ошибку?), Но нет информации для панелей обновления из ответа и ошибки происходит при попытке использовать объект для панелей обновления, который является нулевым. Ошибка перехватывается блоком try-finally.
Итак, на сервере (на странице asp.net) может быть что-то, что вызывает проблему, но я не смог ее найти. Может ли кто-нибудь мне помочь?