Ответ 1
Настройка TargetControlID на скрытую кнопку (display: none;) - лучший способ, насколько мне известно.
Я хотел бы использовать modalpopupextender на моей странице asp.net, чтобы показать подформу. Но он должен показывать только на определенных условиях. Эти условия определяются в части кода javascript.
Итак, самое главное, модальное всплывающее окно не нужно показывать нажатием кнопки. Однако, если я оставил свойство TargetControlID пустым, я получаю следующее исключение:
Недопустимый объект TargetControlID для модуля ModalPopupExtender1. Значение не может быть пустым или пустым. Описание: Необработанное исключение возникло во время выполнения текущего веб-запроса. Просмотрите трассировку стека для получения дополнительной информации об ошибке и ее возникновении в коде.
Сведения об исключении: System.InvalidOperationException: TargetControlID "ModalPopupExtender1" - недействительно. Значение не может быть нулевым или пустой.
У меня есть только TargetControlID для скрытой кнопки или есть еще более достойный вариант?
Настройка TargetControlID на скрытую кнопку (display: none;) - лучший способ, насколько мне известно.
В TargetControlID также может быть установлен тип HiddenField. Таким образом вам даже не нужна кнопка
Нарисуйте кнопку и установите ее как TargetControlId и дайте style = "display:none"
<asp:ModalPopupExtender ID="ModalPopupExtender1" runat="server" PopupControlID="Panel1" TargetControlID="btnPopup"
CancelControlID="btnClose" BackgroundCssClass="modalBackground" OkControlID="btnClose"></asp:ModalPopupExtender>
<asp:Button ID="btnPopup" runat="server" Text="PopUp" style = "display:none" />