Не удается поймать ошибку ASP.Net Server в sharepoint - PullRequest
0 голосов
/ 04 ноября 2010

У меня есть элемент управления asp.net, который содержит вид сетки, расположенный над панелью обновления Ajax.Элемент управления был добавлен на страницу sharepoint.При нажатии кнопки вызывается некоторый код сервера для хранения содержимого сетки.

Если код сервера выдает ошибку, я хочу выпустить предупреждение JavaScript, отображающее сообщение об ошибке, но по какой-то причине ошибка, которая всплывает с сервера, является общей ошибкой 500 сервера, котораясодержать какие-либо детали исходной ошибки.

Кто-нибудь может объяснить, почему это так?

Большое спасибо Джерри

1 Ответ

0 голосов
/ 05 ноября 2010

По умолчанию ASP.NET (и SharePoint) отображает страницу с общей ошибкой при возникновении исключения. По соображениям безопасности эта страница скрывает все детали ошибки. С настройками отладки в web.config вы можете получить трассировку стека, но это не даст вам ничего легко манипулировать в javascript.

Чтобы вернуть пользовательскую страницу с ошибкой, вы можете либо установить глобальный обработчик необработанного исключения (возможно, перебор для этого), либо вы можете перехватить исключение и соответствующим образом изменить ответ. Для метода отдыха вы должны очистить ответ, установить статус 500 и записать сообщение об ошибке в ответ. Для UpdatePanel вы должны отобразить панель в виде сообщения об ошибке или с помощью скрипта для отображения предупреждения. Не уверен, что вы бы установили статус в этом случае - UpdatePanel - это уродливый хак, чтобы подделать настоящий ajax в веб-формах, поэтому вы не можете ожидать, что код будет особенно чистым.

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