AJAX ModalPopup появляется позади (под) содержимого страницы (отрицательный z-индекс) - PullRequest
1 голос
/ 10 мая 2010

У меня проблема с AJAX ModalPopupExtender в версии 40412 AJAX Control Toolkit (http://ajaxcontroltoolkit.codeplex.com/releases/view/43475).

В первый раз, когда ModalPopup становится видимым, он работает правильно. Z-index установлен на 6001 (а z-index фонового Div установлен на 6000), и всплывающее окно появляется над всем остальным. Если кнопка отмены в ModalPopup нажата, она также имеет правильную функциональность, отображение установлено на «none», и ModalPopup больше не виден.

Однако, когда всплывающее окно запускается снова, z-индекс устанавливается только на 2000, который все еще виден над всем остальным, но если он отменяется и запускается снова, он устанавливается на -2000, что не видно (z -индекс уменьшается на 4000 каждый раз).

Я не уверен, почему это происходит. Есть идеи как это исправить?

Особые обстоятельства:

  • На странице есть несколько ModalPopup.
  • Все ModalPopups запускаются в коде через частичные постбэки (с использованием метода .Show ())
  • ModalPopupExtenders находятся в тех же панелях обновления, которые отображаются как всплывающие окна

UPDATE: это была подтвержденная ошибка команды проекта. http://ajaxcontroltoolkit.codeplex.com/workitem/26739. Исправлено.

Ответы [ 5 ]

1 голос
/ 08 февраля 2016

Аналогичная проблема была введена в версии 15.1.4 инструментария, если задействована панель обновления. https://ajaxcontroltoolkit.codeplex.com/workitem/27971 В настоящее время это не исправлено, но 15.1.3 не показывает эту проблему.

1 голос
/ 27 мая 2010

У меня просто была такая проблема. Вот быстрое исправление, которое я придумал

<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>

В javascript ExtendedModalPopup он вызывает скрытие на каждом частичном посте назад, который выполняет _openCount -.

Это код, где Zindex устанавливается на основе _opencount:

var zindex = 10000 + (Sys.Extended.UI.ModalPopupBehavior._openCount++ * 1000);

Итак, _openCount получает отрицательное число

1 голос
/ 03 июня 2010

Это была подтвержденная ошибка команды проекта. http://ajaxcontroltoolkit.codeplex.com/workitem/26739. Исправлено.

От команды: мы подтвердили, что это ошибка, которая была в первоначальном выпуске 40412. Теперь мы заменили ее на модифицированный выпуск, исправляющий это. Пожалуйста, скачайте 40412 снова, чтобы решить эту проблему

1 голос
/ 10 мая 2010

Один из обходных путей - установить CSS для ModalPopup следующим образом; Это переопределит встроенный CSS, примененный к элементу AJAX Control Toolkit.

.ModalPopup
{
    z-index: 6001 !important;
}
.ModalPopupBackground
{
    z-index: 6000 !important;
}
0 голосов
/ 14 июля 2010

В моем случае modalpopup отлично работает первые 10 раз, но в следующий раз появляется за другими компонентами страницы. Установка z-index в css работает для меня, спасибо!

.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;
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...