Обработка ошибок в UpdatePanel с - PullRequest
6 голосов
/ 10 мая 2011

В моем файле web.config включены пользовательские ошибки:

<customErrors mode="On" defaultRedirect="~/ErrorPage.aspx" />

Когда во время асинхронной обратной передачи в UpdatePanel происходит ошибка, ответ возвращается в виде кода 200, а содержимое устанавливается в качестве страницы ошибки.

Это прерывается, когда UpdatePanel пытается проанализировать ответ и выдает исключение JavaScript:

Sys.WebForms.PageRequestManagerParserErrorException: сообщение, полученное с сервера, не может быть проанализировано.

Есть ли способ правильно обработать это на стороне клиента, не отключая пользовательскую ошибку, поскольку я не хочу разглашать какие-либо подробности исключений?

1 Ответ

4 голосов
/ 10 мая 2011

Один из способов справиться с этим - подключить событие OnAsyncPostBackError к вашему ScriptManager элементу управления:

<asp:ScriptManager ID="ScriptManager1" runat="server" 
    AllowCustomErrorsRedirect="False"
    OnAsyncPostBackError="ScriptManager1_AsyncPostBackError" />

Эта страница на MSDN содержит полный пример использования этого метода для обработки ошибок асинхронной обратной передачи.

РЕДАКТИРОВАТЬ
Чтобы обойти проблему с пользовательскими страницами ошибок, обязательно установите для свойства AllowCustomErrorsRedirect в ScriptManager значение false. После того, как я установил для этого свойства значение false, я смог заставить образец MSDN работать должным образом, хотя в файле web.config было установлено значение CustomErrors mode = "On".

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