【问题标题】:Asp.net ModalPopupExtender flickering during PostBackAsp.net ModalPopupExtender 在 PostBack 期间闪烁
【发布时间】:2011-10-30 02:37:33
【问题描述】:

我正在开发一个 Web 应用程序,该应用程序需要我使用我最近在用户控件中创建的模态弹出窗口。一切都按预期工作,但不知何故,在 PostBack 之后,并且并非总是如此,模式中使用的面板在屏幕上闪烁(闪烁)非常短暂。 我在几十个论坛上读过说我需要添加“display:none;”到这个面板的样式标签。这通常“有帮助”,并且大多数回发不会显示面板,但有些会显示。似乎该属性以某种方式被忽略了,但我找不到在哪里、如何、何时。

我还尝试使用 firebug 调试 javascript,测试所有页面事件,甚至尝试查看 ajax modalpopupextender 源代码,但无法解决此问题。 我拥有让这个网络应用程序工作的浏览器是 Mozilla Firefox 3.5.10,这是我工作的公司的当前版本。由于公司政策,这无法更改。

由于这种闪烁会导致质量和用户体验问题,我将保持原样,因此如果有人可以帮助我,我将不胜感激。我的时间也很紧,所以任何快速的帮助也将不胜感激,因为我已经准备好在旅途中尝试和测试更改。

如有任何疑问或问题,请告诉我。

提前致谢。

【问题讨论】:

    标签: javascript asp.net ajax postback modalpopupextender


    【解决方案1】:

    如果您的 CSS 在外部文件中,则可能是在下载 CSS 之前加载和呈现 HTML,从而导致闪烁。如果是这种情况,那么将style="display:none" 直接添加到 HTML 标记应该可以修复它。

    【讨论】:

    • 这个用户控件的所有样式都直接设置为 style 标签,所以面板已经有了 style="display:none"。这肯定是浏览器上的一个错误,否则 ajax 开发团队已经修复了它。我真的在寻找一种解决方法来修复它,即使它很丑陋,比如一些 javascript 在某些事件上弄乱 DOM 以获取这个标签或类似的东西。我不是 opn javascript 专家,只是入门的基础知识。
    【解决方案2】:

    以下对我有用:

    <script type="text/javascript">
        window.onbeforeunload = function () {
            document.getElementById("PanelDialog").style.display = "none";
    
        }
    </script>
    

    【讨论】:

      猜你喜欢
      • 2011-09-03
      • 2014-02-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-27
      • 1970-01-01
      • 2012-06-18
      相关资源
      最近更新 更多