在PostBack期间,Asp.net ModalPopupExtender 闪烁

4
我正在开发一个Web应用程序,需要在用户控件中使用弹出模态框。一切都按预期工作,但是在PostBack之后,并且不总是,在屏幕上非常短暂地闪烁(闪)。我已经在数十个论坛上阅读了许多帖子,说我需要将"display:none;"添加到此面板的样式标记中。这通常“有所帮助”,大多数PostBack不会显示面板,但有些会。似乎该属性被忽略了,但我找不到原因。
我还尝试使用Firebug调试JavaScript,测试了所有页面事件,甚至尝试查看ajax modalpopupextender源代码,但无法解决此问题。我必须使用的浏览器是Mozilla Firefox 3.5.10,这是我工作的公司当前版本。由于企业政策的限制,这不能更改。
由于闪烁会引起质量和用户体验问题,所以我只能这样保留它,如果有人能帮我解决问题,我会很感激。我还在紧张的时间表上,因此任何快速的帮助也将不胜感激,因为我准备在操作中尝试和测试更改。
如有疑问,请告知。
提前致谢。
2个回答

1
以下对我有效:

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

    }
</script>

1
如果您的CSS在外部文件中,那么可能是HTML在CSS下载之前被加载和渲染,导致闪烁。如果是这种情况,那么直接将style="display:none"添加到HTML标签中应该可以解决问题。

该用户控件的所有样式都直接设置在样式标签中,所以面板已经有了style="display:none"的样式。这肯定是浏览器的一个错误,否则ajax开发团队早就解决了。我真的在寻找一个解决办法,即使它很丑陋,比如一些javascript混乱的DOM事件或类似的东西。我不是javascript专家,只是基本的入门水平。 - Alexandre Fernandes

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接