Значение z-index для ModalPopupExtender уменьшается после каждого показа - PullRequest
1 голос
/ 21 апреля 2010

Это новый, который я никогда раньше не видел. У меня есть сетка, содержащая кучу категорий, которые можно редактировать, нажав на соответствующую ссылку «Редактировать» в сетке. Modalpopupextender затем отображается программно (метод .show ()), и пользователь может редактировать категорию. Затем модальное всплывающее окно программно скрывается (метод .hide ()), когда пользователь нажимает «Обновить» или «Отмена». По какой-то причине после каждого нового показа модального всплывающего окна z-индекс уменьшается на 1000, пока не будет скрыт за всем на моей странице. Это начинается в 7000 для самого первого шоу. Поэтому пользователь не сможет редактировать бесконечное количество категорий, если захочет. Есть идеи, почему это происходит?

Класс Css, используемый на модалпопупексендере:

DIV.box-pop
{
    border: #95aab9 1px solid;
    background-color: #ECF1F5;
    display: block;
    position: relative;
    margin: -6px 6px 6px -6px;
    padding: 4px;
    z-index: 10000;
}

Панель, используемая для всплывающего окна:

<asp:Panel ID="PanelModify" runat="server" Width="250px" CssClass="box-pop">
    <asp:UpdatePanel ID="UpdatePanelModify" runat="server" UpdateMode="Conditional">
        <ContentTemplate>
            <table width="100%" cellpadding="3" cellspacing="3">
                <tr>
                    <td>
                        <div class="box">
                            <h1>
                                <span><strong>
                                    <asp:Literal ID="LiteralModalTitle" runat="server" /></strong></span>
                            </h1>
                            <table border="0" width="100%">
                                <tr>
                                    <td>
                                        <asp:TextBox ID="TextBoxModifiedText" runat="server" Width="173px" ValidationGroup="Modify"></asp:TextBox>
                                        <asp:RequiredFieldValidator ID="RequiredFieldValidatorModifiedText" runat="server"
                                            ValidationGroup="Modify" ErrorMessage="*" ControlToValidate="TextBoxModifiedText"
                                            Display="Dynamic">
                                        </asp:RequiredFieldValidator>
                                    </td>
                                </tr>
                                <tr>
                                    <td>
                                        <asp:Button ID="ButtonUpdate" runat="server" Text="Update" ValidationGroup="Modify" /><asp:Button
                                            ID="ButtonInsert" runat="server" Text="Insert" ValidationGroup="Modify" />
                                        &nbsp;
                                        <asp:Button ID="ButtonCancel" runat="server" Text="Cancel" CausesValidation="false" />
                                    </td>
                                </tr>
                            </table>
                        </div>
                    </td>
                </tr>
            </table>
        </ContentTemplate>
    </asp:UpdatePanel>
</asp:Panel>
<ajaxToolkit:ModalPopupExtender ID="ModalPopupExtenderModify" runat="server" PopupControlID="PanelModify"
    TargetControlID="ButtonHideModify" BackgroundCssClass="modalBackground">
</ajaxToolkit:ModalPopupExtender>
<asp:Button ID="ButtonHideModify" runat="server" Style="display: none;" />

Ответы [ 2 ]

2 голосов
/ 22 апреля 2010

Нашел проблему.Панель, которую я использовал для всплывающего окна, была внутри другой панели обновлений.Я переместил его за пределы панели обновлений, и z-индекс больше не меняется.

0 голосов
/ 09 июня 2017

У меня есть UpdatePanel с внутри него ModalPopupExtender. Каждый седьмой раз, когда я открывал всплывающее окно, макет на сайте был испорчен. Таким образом, возникла проблема с z-индексом, она становилась меньше определенного значения (то есть меньше 0) при каждом открытии всплывающего окна. Исправление было найдено здесь: AJAX ModalPopup появляется за (под) содержимым страницы (отрицательный z-индекс) .

.ModalPopup {
    z-index: 6001 !important;
}
.ModalPopupBackground {
    z-index: 6000 !important;
}

Класс ModalPopupBackground применяется к атрибуту ModalPopupExtender BackgroundCssClass. Класс ModalPopup был применен для атрибута asp: Panel CssClass.

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