如何在点击弹出窗口内的关闭链接时从服务器端代码关闭Modal Popup Extender
?
答案 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" />