ModalPopupExtender не будет отображаться перед всем в режиме совместимости IE7 / IE8 - PullRequest
6 голосов
/ 17 сентября 2009

У меня есть ModalPopupExtender из AjaxControlToolkit, который работает правильно в Firefox, Chrome и IE8, но когда я запускаю его в режиме совместимости IE8, он всплывает за содержимым моей страницы, а не сверху.
Всплывающее окно находится в пользовательском элементе управления, который отображается на главной странице. Я думаю, что происходит, когда он появляется перед содержимым главной страницы, так как содержимое главной страницы (мой заголовок и боковые панели) неактивно, но заполнители содержимого отображаются перед моим всплывающим окном. В сети я нашел решение, в котором предлагалось изменить объявление doctype на главной странице:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

Но у меня уже было это точное объявление, и у меня все еще есть проблема с позиционированием. Вот всплывающий код:

<cc1:ModalPopupExtender ID="ModalPopupExtender1" runat="server"
    TargetControlID="lnkbtnDealerID"
    PopupControlID="pnlPopup"
    BackgroundCssClass="modalBackground"
    DropShadow="true"
    OkControlID="OkButton"
    CancelControlID="CancelButton"
    OnOkScript=""
    >
</cc1:ModalPopupExtender>

  <asp:Panel ID="pnlPopup" runat="server" CssClass="modalPopup" Style="display: none"     Width="233px">
   <p>Are you sure?  Your current shopping cart is valid only for the current Dealer ID.      Switching Dealer IDs will reset your cart according to the new Dealer ID chosen.</p>

   <br />
   <div align="center">
      <asp:Button ID="OkButton" runat="server" Text="Ok" />
      <asp:Button ID="CancelButton" runat="server" Text="Cancel" />
   </div>
   </asp:Panel>

и соответствующий CSS:

.popupControl {
    background-color: white;
    position:absolute;
visibility:hidden;
border-style:solid;
border-color: Black;
border-width: 2px;
}

.modalBackground {
background-color:Gray;
filter:alpha(opacity=70);
opacity:0.7;
}

.modalPopup {
background-color:white;
border-width:1px;
border-style:solid;
border-color:Gray;
padding:3px;
width:250px;
}

Ответы [ 5 ]

1 голос
/ 28 мая 2013

Я хотел бы добавить, что Z-индекс действительно является проблемой для тех, кто сталкивается с этим в представлении компатации IE 10, в котором по умолчанию используется режим документации IE7 в локальной сети.

Я использовал z-index: -1 для html и body, а затем должен был перейти к z-index: 100 для других контейнеров. Всплывающие классы в z-index: 999999; Вам нужно будет настроить свой сайт.

1 голос
/ 17 ноября 2009

Я только что нашел ваше сообщение, пытаясь решить ту же проблему. Для меня я отследил его до тега div, называемого mainBody, в котором содержится весь контент страницы. Класс CSS, который управляет этим div, имеет относительное позиционирование, но не имеет z-index. Как только я установил z-index для -1 для mainBody, мой modalPopup отлично работал в IE7.

Надеюсь, это поможет?!

1 голос
/ 27 февраля 2010

Вы можете установить Z-индекс в IE только для родительского div, в котором вы находитесь. Div выше будет всегда отображаться поверх вашего нижнего div. Я решил проблему, всегда помещая Div модуля Modualwindow непосредственно после тега. Если это первый div, он всегда сверху.

Хенрик

0 голосов
/ 23 февраля 2012

Если вы используете ModalPopupExtender (AjaxToolkit 4.1.50927.0 и .Net 4.0.30319) в проекте ASP.NET, вы можете столкнуться с той же проблемой с IE7 и IE8. Всплывающее окно будет полностью отображено в IE 9, но не в IE7 и IE8. В этом случае попробуйте удалить AnimationExtender (fade in), чтобы ModalPopupExtender работало нормально. Проверьте версию браузера и визуализируйте код для анимации через JS для новых браузеров, которые могут обрабатывать эффект затухания или не использовать анимацию, если браузер, скажем, IE7.

0 голосов
/ 17 сентября 2009

Это может быть решение, которое вы можете использовать:

Проблема в Z-index меню и ajax ModalPopupExtender в ASP.net

Я тоже сталкивался с этой проблемой ... но на предварительном выпуске, который мы не собирались поддерживать в IE6 / 7. Но я только что попробовал. Убедитесь, что у всех элементов div, содержащих ваши элементы управления в модальном всплывающем окне, действительно высокий z-индекс (например, 10001).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...