AJAX控件工具包(http://ajaxcontroltoolkit.codeplex.com/releases/view/43475)版本40412中的AJAX ModalPopupExtender存在问题。
第一次使ModalPopup可见时,它可以正常工作。 z-index设置为6001(背景Div的z-index设置为6000),弹出窗口显示在其他所有内容之上。如果单击ModalPopup中的取消按钮,它也具有正确的功能,显示设置为“无”,并且不再显示ModalPopup。
但是,当再次触发弹出窗口时,z-index仅设置为2000,它仍然可以在其他所有内容上看到,但如果它被取消并再次触发,则将其设置为-2000,这是不可见的(z -index每次减少4000。)
我不确定为什么会这样。任何想法如何解决它?
特殊情况:
更新: 这是项目团队确认的错误。 http://ajaxcontroltoolkit.codeplex.com/workitem/26739。现在已经修复了。
答案 0 :(得分:1)
一种解决方法是为ModalPopup设置CSS,如下所示;这将覆盖AJAX Control Toolkit应用于元素的内联CSS。
.ModalPopup
{
z-index: 6001 !important;
}
.ModalPopupBackground
{
z-index: 6000 !important;
}
答案 1 :(得分:1)
我刚遇到这样的问题。这是我提出的快速修复
<script type="text/javascript">
onload = function() {
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(resetCounter);
}
function resetCounter(sender, args) {
try {
Sys.Extended.UI.ModalPopupBehavior._openCount = 0;
} catch (ex) {
// try-catch-throw away!
}
}
</script>
在ExtendedModalPopup javascript中,它在每个返回的部分页面上调用hide来执行_openCount - 。
这是基于_opencount:
设置zindex的代码var zindex = 10000 + (Sys.Extended.UI.ModalPopupBehavior._openCount++ * 1000);
所以_openCount被设置为负数
答案 2 :(得分:1)
这是项目团队确认的错误。 http://ajaxcontroltoolkit.codeplex.com/workitem/26739。现在已经修复了。
来自团队:我们已经确认这是初始版本40412中的错误。我们现在已经更换了修复此版本的修改版本。请再次下载40412以解决此问题
答案 3 :(得分:1)
如果涉及更新面板,则工具包的15.1.4版中会引入类似的问题。 https://ajaxcontroltoolkit.codeplex.com/workitem/27971 此时尚未修复,但15.1.3未显示此问题。
答案 4 :(得分:0)
就我而言,modalpopup在前10次完美运行,但下次出现在页面的其他组件后面。在CSS中设置z-index
对我有用,谢谢!
.modalbackground {
background-color: Gray;
filter: alpha(opacity=70);
opacity: 0.7;
z-index: 6000 !important;
}
.popup
{
background-color:#FFF;
padding:10px;
max-width:600px;
z-index: 6001 !important;
}