Asp.net обработка ошибок Ajax, как показать полное исключение - PullRequest
1 голос
/ 05 апреля 2011

как я могу показать полное исключение .net, которое может возникнуть на странице с поддержкой ajax. Я хочу, чтобы он показывался так, как если бы страница не использовала ajax. Это для моей среды QA, для которой у меня нет возможности временно отключить панель обновления. Кроме того, я не хочу, чтобы javascript справлялся с этим, поскольку наши тестировщики QA хотят видеть обычное полноценное исключение asp.net.

1 Ответ

2 голосов
/ 06 апреля 2011

Скорее всего, нет способа показать исключение на классической желтой странице ошибки ASP.NET после вызова ajax. Но вы можете отправить необходимую информацию через AsyncPostBackErrorMessage, а затем заменить тело страницы aspx некоторым javascript (и jquery):

$(document).ready(function () {
    var manager = Sys.WebForms.PageRequestManager.getInstance();
    manager.add_endRequest(EndRequestHandler);
});

function EndRequestHandler(sender, args) {
    if (args.get_error() != undefined) {
        var errorMessage = args.get_error().message;
        args.set_errorHandled(true);
        $('body').replaceWith(errorMessage);
    }
}

В ScriptManager.AsyncPostBackError вы можете попытаться отрендерить некоторый html, который может эмулировать желтый экран смерти. На этой странице есть вдохновение, как это сделать: http://www.codeproject.com/KB/aspnet/ASPNETExceptionHandling.aspx.

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