AJAX Update面板吞下异常及其奇怪的行为

时间:2009-02-20 15:31:08

标签: ajax exception-handling

我刚接触到AJAX更新面板的奇怪行为。第一个想法让我感到尴尬的是,我注意到当我在异步回发期间抛出异常时,它被环境所吞噬。

由于这是我第一次遇到这样的问题,我开始做实验 - 尝试抛出不同类型的异常,或者在updatePanel之外抛出相同的异常(例如在Page_Init事件中)。结论是,当异步回发中抛出异常时,环境会吞下它,并且页面渲染就像没有发生任何事情一样(这是不可察觉的点)。但是当我在正常的页面生命周期中抛出异常时,异常转发以常规方式和页面按预期失败(我希望对我的推论是正确的)

问题是如何启用异常抛出

(顺便说一下,虽然我一直在写这个消息,但我注意到由于业务逻辑的变化,不再需要抛出上述异常,但无论如何我都感兴趣为什么会发生这种情况)

updatePanel的第二个问题是,当我在Page_Load中设置它{up.Visible = false;}时,在某个方法设置它{up.Visible = true; up.Update()} - 它仍然没有得到解决。我在两个地方设置了断点;当页面呈现时,.visible设置为true,但无论如何它仍然是不可见的。我没有看到任何明显的原因。

感谢。

1 个答案:

答案 0 :(得分:2)

要在更新面板代码中抛出错误时启用asp.net错误屏幕,您需要在ScriptManager中进行设置:

EnablePartialRendering="false"