Интересно, если кто-нибудь может помочь.Я пытаюсь реализовать ToolScriptManager OnAsyncPostBackError.
ToolkitScriptManager находится на главной странице, и я установил свойство OnAsyncPostBackError:
<ajax:ToolkitScriptManager ID="ToolkitScriptManager"
runat="server" EnablePartialRendering="true"
OnAsyncPostBackError="ScriptManager_AsyncPostBackError">
</ajax:ToolkitScriptManager>
На своей странице содержимого я ловлю исключение и, регистрируя его, а затем выбрасывая его
private void LogError(Exception ex, bool full)
{
...
_presenter.LogError(this, error, ex);
throw new ApplicationException(
"Error Occured",
ex
);
}
где он затем обрабатывается обработчиком на мастер-странице
protected void ScriptManager_AsyncPostBackError(object sender, AsyncPostBackErrorEventArgs e)
{
if (e.Exception.Data["GUID"] != null)
{
string _message =
(
e.Exception.InnerException != null
) ? e.Exception.InnerException.Message : e.Exception.Message;
ToolkitScriptManager.AsyncPostBackErrorMessage = _message +
" When reporting this error use the following ID: " +
e.Exception.Data["GUID"].ToString();
}
else
{
ToolkitScriptManager.AsyncPostBackErrorMessage =
"The server could not process the request.";
}
}
Все это работает, как и ожидалось, я улавливаю ошибку через PageRequestManager EndRequest и отображаю наpage
Проблема заключается в том, что в моем Global.asax появляется ошибка Application_Error, в которой говорится, что было сгенерировано исключение типа 'System.Web.HttpUnhandledException'.
Мне кажется, я понимаю, потому что я выкидываю исключение, которое не улавливается предполагаемым уловом?!
Любой совет, что мне не хватает, или куда на самом деле я идуне так?
Заранее спасибо!
Ян