ASPxPopupControl总是在另一个ASPxPopupControl前面

时间:2013-05-13 21:17:08

标签: asp.net css devexpress

所需行为

  • popup1是100x100
  • popup2是50x50
  • 对于我的目的,弹出窗口都不是模态的。

当显示popup1时,popup2也应该显示在它前面。我希望popup2始终位于popup1之前,但是当我点击popup1时,popup2总是会移到popup1之后。当我说“在前面”时,我的意思是我希望popup2始终具有更高的z-index(最重要),即使popup1是活动弹出窗口。

尝试和信息:

我可以在页面标记中看到默认情况下单个弹出窗口的z-index为12000。

我尝试使用css为每个弹出窗口提供不同的z-index值,如下所示:

.popup1{z-index:20000!important;}
.popup2{z-index:21000!important;}

我也尝试过这样:

.popup1{z-index:11000!important;}
.popup2{z-index:12001!important;}

我还尝试将每个弹出窗口包装在具有类似css的div标签中。

每个弹出式窗口z-index都会更新为12002,具体取决于它是否处于活动状态,这与我设置的无关。

我还尝试在div标签中包装较大的弹出窗口并处理onclick事件以设置较小弹出窗口的z-index。

提前致谢!

一些与半相关的链接:

http://www.devexpress.com/Support/Center/p/Q346044.aspx

http://www.devexpress.com/Support/Center/p/Q382392.aspx

http://www.devexpress.com/Support/Center/p/Q36091.aspx

2 个答案:

答案 0 :(得分:0)

您可以在popup1 BringToFront事件中调用popup2 Shown方法。

<dxpc:ASPxPopupControl ClientInstanceName="popup1"...>
    <ClientSideEvents Shown="
        function(s, e) { 
            if(e.window.index == 0) popup1.BringWindowToFront(popup1.GetWindow(1))
        }"/>
</dxpc:ASPxPopupControl>

此示例适用于包含两个窗口的一个弹出控件。如果那不是你的情况(也许你有一个窗口的两个弹出控件)只是根据你的需要调整样本。

答案 1 :(得分:0)

之前我尝试在处理onclick事件的div中包装popup1(后部),将popup2(前面)带到前面但是没有用。

相反,处理div包装器的onmousedown事件的工作是什么。