Ответ 1
Одна из возможностей - использовать jquery ui dialog.
ИЗМЕНИТЬ
Идея заключалась бы в том, чтобы иметь ajax-действие, которое возвращает частичное представление. Результат этого действия (html) помещается внутри контейнера всплывающего окна, а на обработчике успеха вызова ajax вы открываете всплывающее окно. Вот пример кода:
@Ajax.ActionLink("Open popup", "SomeAction", new AjaxOptions { HttpMethod = "GET", UpdateTargetId = "result", InsertionMode = InsertionMode.Replace, OnSuccess="openPopup" })<br />
<div id="result" style="display:none;"></div>
<script type="text/javascript">
$(document).ready(function() {
$("#result").dialog({
autoOpen: false,
title: 'Title',
width: 500,
height: 'auto',
modal: true
});
});
function openPopup() {
$("#result").dialog("open");
}
</script>
Затем вам нужно добавить действие в контроллер, который возвращает частичный вид
[HttpGet]
public PartialViewResult SomeAction()
{
return PartialView();
}
Поместите все, что вам нужно в частичном представлении, вы также можете указать параметры в действии и т.д.
Удачи!