如何从服务器端关闭Modal popup Extender

时间:2010-03-25 05:22:22

标签: asp.net modalpopupextender

如何在点击弹出窗口内的关闭链接时从服务器端代码关闭Modal Popup Extender

3 个答案:

答案 0 :(得分:8)

在扩展程序中有一个属性用于关闭弹出窗口“CancelControlID”,在其中给出按钮ID,弹出窗口将关闭,如果你想从服务器端关闭弹出窗口意味着后面的代码,那么在按钮代码中有扩展属性hide()在身体后面写下弹出窗口的id并输入“。”在那之后你得到那些属性的弹出窗口的所有属性你得到了hide属性。希望你能得到解决方案

例如

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

    }

答案 1 :(得分:4)

回答此问题可能对发布此问题的人没有用,但对其他人可能有用。

要从服务器端关闭模式弹出窗口,需要执行以下操作。

不是将关闭按钮ID提供给modalpopupextender的“CancelControlID”,而是创建一个虚拟隐藏字段,并将此id提供给modalpopupextender的“CancelControlID”。

例如

<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给出,因为我想显示以及隐藏代码隐藏的模态弹出窗口。

在Code-Behind中

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

在这里,我看到了模态弹出窗口,并在点击“是”按钮时从代码隐藏中添加了一个文本框,并在单击“关闭”按钮时隐藏了模态弹出窗口。

答案 2 :(得分:2)

您可以使用 CancelControlID 属性关闭弹出框。

<asp:ModalPopupExtender ID="mpe_login" runat="server"
 TargetControlID="btn_login_popup" PopupControlID="panel_login"
 BackgroundCssClass="LoginBackground1"
 CancelControlID="btn_Cancel" />