Как закрыть Modal Popup Extender
из кода на стороне сервера, щелкнув ссылку закрытия во всплывающем окне?
Как закрыть модальный расширитель всплывающих окон со стороны сервера
Ответы (3)
в расширителе есть свойство для закрытия всплывающего окна «CancelControlID», укажите в нем идентификатор кнопки, и всплывающее окно закроется, если вы хотите закрыть всплывающее окно со стороны сервера, значит из кода позади, тогда есть свойство расширения hide (), в коде кнопки за телом написать id всплывающего окна и введите "." после этого вы получите все свойства всплывающего окна в этом свойстве, которое вы получите свойство hide. используйте его, надеюсь, вы получите решение
пример
private void btnSubmit_Click(object sender, EventArgs e)
{
modelpopupextender.hide();
}
Ответ на этот вопрос может быть бесполезен для человека, который его разместил, но может быть полезным для других.
Чтобы закрыть модальное всплывающее окно со стороны сервера, необходимо сделать следующее.
Вместо того, чтобы указывать идентификатор кнопки закрытия для «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>
Здесь я сделал видимым модальное всплывающее окно и добавил текстовое поле из кода программной части при нажатии кнопки «Да» и скрыл модальное всплывающее окно при нажатии кнопки «Закрыть».
Вы можете использовать атрибут CancelControlID, чтобы закрыть всплывающее окно.
<asp:ModalPopupExtender ID="mpe_login" runat="server"
TargetControlID="btn_login_popup" PopupControlID="panel_login"
BackgroundCssClass="LoginBackground1"
CancelControlID="btn_Cancel" />