如何从服务器端关闭模态弹出窗口扩展程序

8
如何在单击弹出窗口内的关闭链接时从服务器端代码关闭Modal Popup Extender?
3个回答

8
在Extender中,有一个用于关闭弹出窗口的属性“CancelControlID”,将按钮ID放入其中即可关闭弹出窗口。如果您想从服务器端关闭弹出窗口,也就是从代码后台关闭弹出窗口,则有Extender属性hide()。在按钮代码后台中编写弹出窗口的ID并在其后输入“.”,然后您就可以获取弹出窗口的所有属性,其中包括隐藏属性。使用它,希望您能得到解决方案。
private void btnSubmit_Click(object sender, EventArgs e)
    {
      modelpopupextender.hide();

    }

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,因为我想从代码后端显示和隐藏模态弹出窗口。

在代码后端:

<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
您可以使用“CancelControlID”属性来关闭弹出框。
<asp:ModalPopupExtender ID="mpe_login" runat="server"
 TargetControlID="btn_login_popup" PopupControlID="panel_login"
 BackgroundCssClass="LoginBackground1"
 CancelControlID="btn_Cancel" />

2
请修复你的缩进。 - WebChemist

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接