Подтвердить что ты не робот

Использовать ModalPopupExtender без необходимости устанавливать TargetControlID?

Я хотел бы использовать modalpopupextender на моей странице asp.net, чтобы показать подформу. Но он должен показывать только на определенных условиях. Эти условия определяются в части кода javascript.

Итак, самое главное, модальное всплывающее окно не нужно показывать нажатием кнопки. Однако, если я оставил свойство TargetControlID пустым, я получаю следующее исключение:

Недопустимый объект TargetControlID для модуля ModalPopupExtender1. Значение не может быть пустым или пустым. Описание: Необработанное исключение возникло во время выполнения текущего веб-запроса. Просмотрите трассировку стека для получения дополнительной информации об ошибке и ее возникновении в коде.

Сведения об исключении: System.InvalidOperationException: TargetControlID "ModalPopupExtender1" - недействительно. Значение не может быть нулевым или пустой.

У меня есть только TargetControlID для скрытой кнопки или есть еще более достойный вариант?

4b9b3361

Ответ 1

Настройка TargetControlID на скрытую кнопку (display: none;) - лучший способ, насколько мне известно.

Ответ 2

В TargetControlID также может быть установлен тип HiddenField. Таким образом вам даже не нужна кнопка

Ответ 3

Нарисуйте кнопку и установите ее как 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" />