Браузер не обрабатывает исключения из панели AJAX, ASP.NET c # - PullRequest
0 голосов
/ 27 мая 2010

У меня проблемы с отловом ошибок на панели AJAX. Даже когда я запускаю исключение в коде c # за внешним интерфейсом, оно полностью игнорируется.

Вот код, который я настроил, кто-нибудь может понять, почему?

В идеале я хочу показать окно предупреждения js при ошибке.

Код сзади:

protected void btnX_Click(object sender, EventArgs e)
{
    throw new ApplicationException("test");
}

protected void ScriptManager_AsyncPostBackError(object sender, AsyncPostBackErrorEventArgs e)
{
    ScriptManager.AsyncPostBackErrorMessage = e.Exception.Message;
}

Markup:

<script type="text/javascript" language="javascript">
    Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);

    function EndRequestHandler(sender, e)
    {
       window.alert(e.get_error().name);
    }
</script>

<asp:ScriptManager ID="ScriptManager" runat="server" AllowCustomErrorsRedirect="true" OnAsyncPostBackError="ScriptManager_AsyncPostBackError" />

1 Ответ

0 голосов
/ 27 мая 2010

Я думаю, что вы должны отображать свойство ошибки 'message', а не 'name'

см. http://msdn.microsoft.com/en-us/library/bb383810.aspx

function EndRequestHandler(sender, e)
{
    if (e.get_error() != undefined)
    {
     var errorMessage = e.get_error().message;
     e.set_errorHandled(true);
     alert(errorMessage)
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...