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

标签 ajax exception-handling

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

因为这是我第一次遇到这样的问题,所以我开始做实验——尝试抛出不同类型的异常,或者在 updatePanel 之外抛出相同的异常(例如在 Page_Init 事件中)。结论是当async postback抛出exception时,环境会吞掉它,页面渲染的时候就好像什么都没发生一样(这是不能接受的地方)。但是当我在正常的页面生命周期内抛出异常时,异常以通常的方式转发并且页面按预期失败(我希望我的推论是正确的)

问题是我应该怎么做才能启用异常抛出

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

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

谢谢。

最佳答案

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

EnablePartialRendering="false"

关于AJAX 更新面板吞下异常及其奇怪的行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/569991/

相关文章:

javascript - 拉拉维尔 5.3 : Auto refresh div when data update with Ajax

javascript - jQuery 数据表功能无法操作

python - 手动引发 ArgumentError 是不好的形式吗?

Python 用户定义的异常放置和捕获

javascript - 当选中复选框时,如何动态地将复选框值从 View 传递到 Controller ?

ajax - 令人困惑的 WP 页面加载与 AJAX

javascript - 下拉列表未从数据库填充

javascript - 强大的 Javascript 异常处理

c# - 如何捕获 .NET 应用程序中的所有异常/崩溃

javascript - 在 Obj C 中捕获 React Native 错误