AJAX更新面板接受异常及其奇怪的行为

AJAX更新面板接受异常及其奇怪的行为,ajax,exception-handling,Ajax,Exception Handling,我刚刚发现AJAX更新面板的奇怪行为。让我尴尬的第一个想法是,我注意到,当我在异步回发期间抛出异常时,它被环境吞没了 因为这是我第一次面对这样的问题,所以我开始做实验——尝试抛出不同类型的异常,或者在updatePanel之外抛出相同的异常(例如在Page_Init事件中)。结论是,当在异步回发中抛出异常时,环境会将其吞并,页面呈现时就好像什么都没发生一样(这是不可接受的点)。但当我在正常的页面生命周期内抛出异常时,异常会以通常的方式转发,页面会按预期失败(我希望我的推断是正确的) 问题是我应该

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

因为这是我第一次面对这样的问题,所以我开始做实验——尝试抛出不同类型的异常,或者在updatePanel之外抛出相同的异常(例如在Page_Init事件中)。结论是,当在异步回发中抛出异常时,环境会将其吞并,页面呈现时就好像什么都没发生一样(这是不可接受的点)。但当我在正常的页面生命周期内抛出异常时,异常会以通常的方式转发,页面会按预期失败(我希望我的推断是正确的)

问题是我应该如何启用异常抛出

(顺便说一句,在我写这条消息的时候,我注意到由于业务逻辑的变化,不再需要抛出上述异常,但我对它发生的原因很感兴趣)

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


谢谢。

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

EnablePartialRendering="false"

这将完全否定
更新面板
的整个要点,不是吗。@romkyns,如果我没记错的话,是的,它会使它完全重新加载,所以这个方法只对调试有用