ASP.NET модальное всплывающее окно, полностью из кода?

то, что я пытаюсь сделать, это создать немного многоразового кода, который может написать модальное всплывающее окно, либо через javascript, либо с помощью ajaxcontrol toolkit все из кода позади.

модальный будет своего рода логин всплывающее окно для управления доступом к более ограниченным областям веб-сайта, позволяя определенным пользователям повторно учетные данные для более высокого доступа.

Я думал сделать пользовательский элемент управления, но я вижу некоторые проблемы с передачей всей соответствующей информации без она абсолютно каждом раунде.

Если у кого-нибудь есть хорошие ссылки или советы для этого, было бы очень признательно!

спасибо!

EDIT: я знаю, как использовать инструментарий управления ajax и его элементы управления, и я знаю, как сделать экраны входа в систему, я спрашиваю, как это сделать полностью из кода позади из класса, который будет независим от его реализации

5 ответов


написать управление сервером или asp.net расширитель как это делает ajax control toolkit.

лучшее, что вы можете сделать, это скачать источник AjaxControlToolkit из CodePlex и исследуйте источник ModalPopup внутри этого.


еще одна вещь, которую вы можете сделать, это просто вызвать popupExtender, чтобы показать из кода за файлом. Как мы знаем, расширитель должен быть как-то связаны с целевым контролем, просто добавить фиктивный контроль как скрытое текстовое поле (на самом деле, чтобы скрыть элемент управления, сделать его из ASP-файл, как стиль="дисплей:нет" не от контроля свойства (видна=ложь) в противном случае он не будет работать), а потом просто вызвать из кода позади, как расширитель это:

DummyTextBox_ModalPopupExtender.Show();

вы можете назвать его в page_load или с любым другим триггером.

не нужен javascript ни на стороне клиента, ни на стороне сервера. Xdс.



modalpopupextender в AJAX Control toolkit прост в использовании, плюс у него есть серверный или клиентский метод для отображения всплывающего окна (в прошлых версиях у меня были проблемы с серверным методом, но он, возможно, был разрешен в текущей версии).

вы можете поместить modalpopupextender внутри главной страницы и создать метод JS на главной странице, которую вы можете вызвать для вызова модального расширителя всплывающих окон, например:

функция showPopup() { ВАР модал = $find ("% "); модальный.показывать(); }

содержимое всплывающего окна можно заменить с помощью javascript, так как вы контролируете это содержимое.


добавить BehaviorID="my_cool_id" к вашему расширителю modalpopup и добавьте это к любой функции сервера

ScriptManager.RegisterStartupScript(Page, this.GetType(),"id","function pageLoad(){$find('my_cool_id').show();}",true);