Я пытался создать всплывающее окно с некоторыми деталями, собранными из частичного вида, но я не смог этого сделать.
Я следовал этому примеру, это довольно ясно, но не сделалработать на меня. всплывающие окна MVC
Я добавляю свой код, возможно, кто-то может видеть лучше меня, почему не работает.
Заранее спасибо, Пабло.
Это контроллер
[HttpGet]
[Authorize]
public ActionResult _CustomerDetails(int idAddress)
{
using (CustomerAddressClient client = new CustomerAddressClient())
{
var address = client.CustomerAddress_Read(idAddress);
ViewBag.CustomerAddress = address;
}
return PartialView();
}
Тогда у меня есть представление с этим кодом
@Ajax.ActionLink("Open popup", "_CustomerDetails", new AjaxOptions { HttpMethod = "GET", UpdateTargetId = "customerdetails2", InsertionMode = InsertionMode.Replace, OnSuccess = "openPopup" })
<div id="customerdetails2" ></div>
$(document).ready(function () {
$("#customerdetails2").dialog({
autoOpen: false,
title: 'Title',
width: 500,
height: 'auto',
modal: true
});
});
function openPopup() {
$("#customerdetails2").dialog("open");
}
, а частичное представление - это просто список данных клиента
<table style="width: 100%;" class="customerTable">
<tr>
<td>Address1</td> <td>@ViewBag.CustomerAddress.idAddress</td>
</tr>
<tr>
<td>Address2</td><td>@ViewBag.CustomerAddress.Address2</td>
</tr>
<tr>
<td>Address3</td><td>@ViewBag.CustomerAddress.Address3</td>
</tr>
<tr>
<td>City</td><td>@ViewBag.CustomerAddress.City</td>
</tr>
<tr>
<td>CompanyName</td><td>@ViewBag.CustomerAddress.CompanyName</td>
</tr>
</Table>
Ну, страница продолжает отображаться в том же контейнере, она не будет отображать всплывающее окно.