无法捕获assync回发(带有updatepanel的asp.net页面)上的错误
我使用updatepanel并为endRequest注册处理程序以捕获错误:无法捕获assync回发(带有updatepanel的asp.net页面)上的错误,asp.net,ajax,updatepanel,Asp.net,Ajax,Updatepanel,我使用updatepanel并为endRequest注册处理程序以捕获错误: Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler); 在服务器上引发异常以测试客户端。问题是IE和FireFox中从未调用EndRequestHandler!它在歌剧和狩猎中的效果与预期一样 在一个只有几个控件的简单页面上,它在所有浏览器中都能正常工作。我发现Firebug的响应是内容长度:67,但没有响应(响
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);
在服务器上引发异常以测试客户端。问题是IE和FireFox中从未调用EndRequestHandler!它在歌剧和狩猎中的效果与预期一样
在一个只有几个控件的简单页面上,它在所有浏览器中都能正常工作。我发现Firebug的响应是内容长度:67,但没有响应(响应的空选项卡)!预期的反应是
53 |错误| 500 |对象引用未设置为对象的实例|
比如说
我没有精确地调试ajax库,但我看到一些代码运行以准备页面加载事件(可能是因为它无法检测到错误?),但是响应中没有关于updatepanels的信息,并且尝试使用updatepanels对象时出错,该对象为null。该错误被try finally块捕获
因此,服务器上(asp.net页面中)可能存在导致问题的原因,但我找不到它。有人能帮我吗
最新的MS Ajax仍然存在同样的问题 我设法解决了服务器上的问题:
protected override void OnError(EventArgs e)
{
base.OnError(e);
if (ScriptManager.GetCurrent(this).IsInAsyncPostBack)
{
Response.Clear();
Response.Write("53|error|500|Bad.|");
Response.Flush();
}
}
因此,我认为服务器端有问题。1。我不知道这是否是一个bug,因为在IE调试器中我看到XMLHttpRequest对象的responseText是一个空字符串!2.我试试这个。