2010-05-27 3 views
0

AJAX 패널에서 오류를 catch하는 데 문제가 있습니다. 프런트 엔드 뒤에있는 C# 코드에서 예외를 던지더라도이를 완전히 무시합니다.브라우저에서 AJAX 패널, ASP.NET의 예외 처리 안 함 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; 
} 

마크 업 :

<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" /> 

답변

0

난 당신이 '메시지'오류 속성이 아니라 '이름'

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) 
    } 
}