Asp.net 使用ScriptManager处理异步错误消息

Asp.net 使用ScriptManager处理异步错误消息,asp.net,ajax,exception-handling,updatepanel,scriptmanager,Asp.net,Ajax,Exception Handling,Updatepanel,Scriptmanager,这东西快把我逼疯了。我试图在部分回发期间截获一个异常服务器端,设置一条错误消息以javascript警报的形式显示在客户端上 但我只是在firefox控制台上收到以下错误: uncaught exception: [Exception... "'Sys.WebForms.PageRequestManagerServerErrorException: Sys.WebForms.PageRequestManagerServerErrorException: Tentativo di division

这东西快把我逼疯了。我试图在部分回发期间截获一个异常服务器端,设置一条错误消息以javascript警报的形式显示在客户端上

但我只是在firefox控制台上收到以下错误:

uncaught exception: [Exception... "'Sys.WebForms.PageRequestManagerServerErrorException: Sys.WebForms.PageRequestManagerServerErrorException: Tentativo di divisione per zero.' when calling method: [nsIDOMEventListener::handleEvent]" nsresult: "0x8057001c (NS_ERROR_XPC_JS_THREW_JS_OBJECT)" location: "JS frame :: resource://firebug_rjs/net/spy.js :: callPageHandler :: line 796" data: no]
一点警报也没有

我在一个涉及Telerik组件的复杂项目中遇到了这个问题,但我已经将问题简化为基本问题,并且问题仍然存在

本案:

Default.aspx

<form id="form1" runat="server">
<asp:ScriptManager ID="scriptManager" runat="server" OnAsyncPostBackError="scriptManager_OnAsyncPostBackError"></asp:ScriptManager>
<div>
    <asp:UpdatePanel ID="upd" runat="server">
        <ContentTemplate>
            <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
            <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
            <asp:Button ID="btnSend" runat="server" Text="Send" OnClick="btnSend_OnClick" />
        </ContentTemplate>
    </asp:UpdatePanel>
</div>
</form>
我曾在Firefox和Internet Explorer中尝试过VS2010/.NET 4.0和VS2008/.NET 3.5,但问题是相同的


请问,有人有什么想法吗?

除了在服务器端处理逻辑外,您还必须添加脚本,以便在客户端处理错误

 <script>
        Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);
        function EndRequestHandler(sender, args) {
            if (args.get_error() != undefined) {
                alert(args.get_error());
            }
        }
    </script>

Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);
函数EndRequestHandler(发送方,参数){
if(args.get_error()!=未定义){
警报(args.get_error());
}
}
此脚本正在处理end_请求事件,如果出现一些错误,将触发警报

 <script>
        Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);
        function EndRequestHandler(sender, args) {
            if (args.get_error() != undefined) {
                alert(args.get_error());
            }
        }
    </script>