Использовать ModalPopupExtender без необходимости устанавливать TargetControlID? - PullRequest
21 голосов
/ 16 марта 2010

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

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

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

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

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

Ответы [ 3 ]

23 голосов
/ 16 марта 2010

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

12 голосов
/ 19 апреля 2011

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

0 голосов
/ 17 января 2016

Создайте кнопку и установите ее в качестве вашего 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" />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...