Как закрыть модальный расширитель всплывающих окон со стороны сервера

Как закрыть Modal Popup Extender из кода на стороне сервера, щелкнув ссылку закрытия во всплывающем окне?


person karthik k    schedule 25.03.2010    source источник


Ответы (3)


в расширителе есть свойство для закрытия всплывающего окна «CancelControlID», укажите в нем идентификатор кнопки, и всплывающее окно закроется, если вы хотите закрыть всплывающее окно со стороны сервера, значит из кода позади, тогда есть свойство расширения hide (), в коде кнопки за телом написать id всплывающего окна и введите "." после этого вы получите все свойства всплывающего окна в этом свойстве, которое вы получите свойство hide. используйте его, надеюсь, вы получите решение

пример

private void btnSubmit_Click(object sender, EventArgs e)
    {
      modelpopupextender.hide();

    }
person Emaad Ali    schedule 27.03.2010

Ответ на этот вопрос может быть бесполезен для человека, который его разместил, но может быть полезным для других.

Чтобы закрыть модальное всплывающее окно со стороны сервера, необходимо сделать следующее.

Вместо того, чтобы указывать идентификатор кнопки закрытия для «CancelControlID» модального popupextender, создайте фиктивное скрытое поле и присвойте этот идентификатор «CancelControlID» modalpopupextender.

Например

<pre>
<asp:HiddenField ID="hidForModel" runat="server" />;
/*Are you sure you want to know the answer? */
    <asp:Button ID="btnYes" runat="server" Text="Yes!" onclick="btnYes_Click" />;
    <br />;
    <asp:Panel ID="pnlModal" runat="server" CssClass="modalPopup" Style="display: none;">
        <asp:Panel ID="pnlControls" runat="server" CssClass="insideModalPopup></asp:Panel>
        <br />
        <asp:Button ID="btnClose" runat="server" Text="Close" onclick="btnClose_Click" />
    </asp:Panel>
        <cc1:ModalPopupExtender TargetControlID="hidForModel" ID="pnlModal_ModalPopupExtender"
        runat="server" DynamicServicePath="" Enabled="True" BackgroundCssClass="modalBackground"
        PopupControlID="pnlModal" CancelControlID="hidForModel" DropShadow="true">
        </cc1:ModalPopupExtender>
</pre>

Здесь я указал TargetControlID и CancelControlID как hidForModel, как я хочу показать, а также скрыть модальное всплывающее окно от кода программной части.

В коде позади

<pre>

        protected void btnYes_Click(object sender, EventArgs e)
        {
            pnlModal_ModalPopupExtender.Show();

            TextBox txt = new TextBox();
            txt.Text = "aaa";
            pnlControls.Controls.Add(txt);
        }

        protected void btnClose_Click(object sender, EventArgs e)
        {
            pnlModal_ModalPopupExtender.Hide();
        }
</pre>

Здесь я сделал видимым модальное всплывающее окно и добавил текстовое поле из кода программной части при нажатии кнопки «Да» и скрыл модальное всплывающее окно при нажатии кнопки «Закрыть».

person samar    schedule 19.07.2011

Вы можете использовать атрибут CancelControlID, чтобы закрыть всплывающее окно.

<asp:ModalPopupExtender ID="mpe_login" runat="server"
 TargetControlID="btn_login_popup" PopupControlID="panel_login"
 BackgroundCssClass="LoginBackground1"
 CancelControlID="btn_Cancel" />
person Kisan Patel    schedule 06.12.2012
comment
пожалуйста, исправьте ваш отступ - person WebChemist; 06.12.2012