代码之家  ›  专栏  ›  技术社区  ›  Nakul Chaudhary

ASP.net中菜单和ajax ModalPopupXtender的Z索引问题

  •  2
  • Nakul Chaudhary  · 技术社区  · 17 年前

    我使用Ajax ModalPopupXtender,但问题是应用程序中的菜单显示在ModalPopupXtender上。我还为ModalPopupXtender设置了z-index=1,为但未解决的问题设置了z-index=100。

    4 回复  |  直到 17 年前
        1
  •  3
  •   Chitharanjan Das    13 年前

    在学习了几分钟如何使用开发人员工具(Chrome/IE上的F12)之后,我终于找到了问题的根源。

    我将假设两件事中的一件是真的: 1.主菜单位于母版页上,ModalPopupXtender控件位于子页中。

    如果您的情况属于第一类,那么下面是发生的情况:生成的标记将lightbox放在一个div中,以及子页面的其余内容(比如wrapperContent),主菜单放在另一个div中(比如wrapperHeader)。wrapperHeader的z索引必须大于wrapperContent的z索引,否则子菜单在下拉时将位于内容下方。现在,无论您为lightbox指定的z-index值是什么,它都将始终显示在wrapperHeader内的每个元素下,因为它从wrapperContent继承其z-index,而wrapperHeader的z-index低于wrapperHeader。

    @Jack Marchetti这也解释了为什么当你将lightbox放在一个单独的div中,与页面其余部分的内容分开时,它是固定的。

    我希望这有帮助。

        2
  •  2
  •   Jab    17 年前

    使用Firebug(Firefox扩展)或类似工具检查菜单的Z索引。然后将ModalPopupXtender的Z索引设置得更高。

    如果没有看到活动页面,我无法猜测z索引,但它必须大于100。您可以尝试将其设置为10001或其他非常高的值。

        3
  •  1
  •   Helo    16 年前

    我做Asp.Net开发大约有4年了,我的经验告诉我远离微软的AJAX库,尤其是AJAX控件工具包。那里有一些他们似乎不想修复的bug。

    我给你的建议是:使用另一个图书馆。我现在正在使用JQuery,您在网上找到的JQuery插件质量参差不齐,但其中一些插件非常好,而另一些插件我自己也修复了(我只选择那些我可以快速理解代码的插件)。

    15+ jQuery Popup Modal Dialog Plugins and Tutorials .

        4
  •  0
  •   Jack Marchetti    17 年前

    将z-索引设置为真正大的值,如所提到的@Jab。