ASP.NET MVC модальный диалог / всплывающая передовая практика - PullRequest
61 голосов
/ 14 мая 2009

Я ищу самый стандартный способ достижения модальных диалогов в ASP.NET MVC.

Пример того, что я пытаюсь сделать, - когда я выбираю элемент на своей странице "списка", я хочу, чтобы страница "подробностей" была всплывающим списком, а НЕ новой страницей. Я не ищу взломать. Я хочу, чтобы это было решение, которое следует шаблону ASP.NET MVC. Я также предпочел бы не выходить за пределы jQuery и ASP.NET Ajax (без плагинов, ЕСЛИ это не рекомендуется).

Ответы [ 3 ]

37 голосов
/ 14 мая 2009

В библиотеке пользовательского интерфейса jQuery есть виджет диалога, который я использую для подобных вещей. Несмотря на то, что это плагин, IMO, лучше всего просто не использовать собственный диалоговый виджет.

http://jqueryui.com/demos/dialog/

20 голосов
/ 14 мая 2009

Диалоговое предложение Lunchy приятно. Просто сделайте ajax-запрос к действию вашего контроллера и заставьте действие вернуть то, что вы хотите отобразить, например, частичное представление с некоторым форматированием HTML. Затем вставьте этот HTML-код в диалоговое окно или в текст, который вы планируете отобразить, и покажите его.

6 голосов
/ 14 мая 2009

Одной из вещей, которые идут рука об руку с MVC, являются RESTful URL. В этом случае «стандартный» способ обработки этого заключается в том, чтобы детали поднимали новую страницу со своим собственным, RESTful (и закладочным) URL, вместо того, чтобы открывать диалоговое окно над страницей. Конечно, вы можете создать диалоговое окно «Предварительный просмотр сведений» в контексте списка, но если вы собираетесь взаимодействовать с деталями, я бы рассмотрел возможность сделать полный запрос и получить подробности на его собственной странице.

...