为什么部分回发(UpdatePanel)中的异常未记录到事件日志中

时间:2013-05-13 16:58:13

标签: asp.net asp.net-ajax updatepanel

在标准回发中,如果发生异常,则会将错误记录到源“ASP.NET 4.0.30319.0”下的事件日志中。这里有很多好的细节。

如果在部分回发函数期间通过UpdatePanel调用发生异常,为什么异常没有记录到事件日志中,是否需要启用以使该功能起作用?

我可以验证在两种情况下页面的OnError函数都会触发,但只有在回发时才会记录错误。

1 个答案:

答案 0 :(得分:0)

我不知道为什么异常没有记录到事件日志

到目前为止,我发现了一些不那么好的解决方法:

AsyncPostBackError

中的Rethrow

ScriptManager的{​​{1}}事件中捕获例外。把它包起来扔掉。

缺点

  1. 客户端JavaScript代码丢失原始异常消息。
  2. 异常被不必要地包装,这可能使调试变得更加乏味。
  3. 禁用AsyncPostBackError

    禁用EnablePartialRendering上的EnablePartialRendering

    优点

    1. 以与非异步回发一致的方式处理错误。
    2. 缺点

      1. 似乎有点挫败使用ScriptManager s。
      2. 的目的
      3. 您无法访问某些客户端类,例如UpdatePanel