Лучший вариант для модальных экранов в ASP.NET - PullRequest
4 голосов
/ 06 марта 2009

Я ищу лучший способ реализовать модальное всплывающее окно в ASP.NET другой страницы ASP.NET. Я пишу для Firefox 2.x + и могу использовать JQuery, но я не очень знаком с ним.

Я вижу много решений, использующих «AJAX», но я не уверен, в каком контексте, поэтому я не пошел по этому пути.

Ответы [ 6 ]

4 голосов
/ 06 марта 2009

Я использовал как модальный расширитель ajax, так и jQuery jqModal, оба работали довольно хорошо. В конце концов, это решение должно сводиться к тому, на что походит остальная часть кода, каков ваш комфорт с каждым и т. Д.

Если бы я выбрал опцию сегодня, я бы, вероятно, выбрал jqModal или простой модал для jQuery. Теперь мне это удобно.

4 голосов
/ 06 марта 2009

Я использую плагин jQuery UI Dialog. Работает очень хорошо. Документацию по плагину можно найти на http://docs.jquery.com/UI.

2 голосов
/ 07 марта 2009

Для простых модальных дисплеев я нашел BlockUI отличным решением.

Например, вот пост о с использованием BlockUI в качестве индикатора модального прогресса , а вот о с использованием BlockUI для отображения диалогового окна модального подтверждения .

Если вам нужно что-то более сложное, я бы поддержал диалог jQueryUI.

0 голосов
/ 07 марта 2009

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

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

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

function create_modal(doc_id,css_class,append_to)
{
if(typeof append_to==='undefined'){append_to='content';}
var container=document.getElementById(append_to);
if(!container){return false;}
var modal_box=document.createElement('div');
container.appendChild(modal_box);
modal_box.id=doc_id;
modal_box.className=css_class;
return modal_box;
}

var modal_window=create_modal('modal_id','a_css_class');
if(!modal_window){return false;}
modal_window.innerHTML=function_or_var_providing_html();

так что все просто и красиво без какого-либо плагина 10 или 15 k!

0 голосов
/ 06 марта 2009

Вы можете использовать radWindow от Telerik, плагин jQuery UI Dialog, как рекомендовано tvanfosson, или вы можете взглянуть на

http://vision -media.ca / resources / jquery / jquery-popup-plugin-review , в которых рассматриваются некоторые плагины jQuery для всплывающих окон.

Имея только опыт работы с radWindow, я могу вам сказать, что с radWindow вам, возможно, придется использовать некоторые хаки и загибы, чтобы заставить его работать должным образом, но результат будет хорошим, если вы потратите на это достаточно времени.

0 голосов
/ 06 марта 2009

Я использовал AjaxControlToolkit , но вариант jQuery, предложенный @tvanfosson, кажется намного лучше

...