У меня есть частичное представление, в котором я перечисляю определенные данные в виде таблицы, я хотел бы иметь кнопку редактирования для каждой строки, но я не хочу, чтобы она запускала новую продажу, а эти поля можно редактировать в modal, но, честно говоря, я не знаю, как это сделать.
Это часть моего частичного представления, где у меня есть кнопка редактирования.
<tbody>
@foreach (var item in Model)
{
<td>
<button class="btn btn-primary edit-radicado" data-id="@item.NumeroRecepcion">
<span class="glyphicon glyphicon-edit" aria-hidden="true"></span>
</button>
<a href="@Url.Action("Details", "Estadistica", new {recepcion = item.NumeroRecepcion})" class="btn btn-default">
<span class="glyphicon glyphicon-info-sign" aria-hidden="true"></span>
</a>
</td>
<td>
@Html.DisplayFor(modelItem => item.FechaAudiria)
</td>
<td>
@Html.DisplayFor(modelItem => item.UsuarioRevision)
</td>
<td>
@Html.DisplayFor(modelItem => item.UnidadesSoportadas)
</td>
<td>
@Html.DisplayFor(modmodelItemel => item.Devoluciones)
</td>
}
Затем у меня есть div, в который я должен вставить содержимое частичного представления «Редактировать».
<div class="modal hide fade in" id="edit-person">
<div id="edit-person-container"></div>
</div>
JS, который у меня есть на данный момент, чтобы вызвать частичное представление «Редактировать», это.
$(".edit-radicado").click(function () {
var id = $(this).attr("data-id");
$.ajax({
url: '/Estadistica/Edit',
type: 'GET',
data: { recepcion: id },
success: function (data) {
alert(data);
//$(".edit-person-container").html(data);
$(".edit-person-container").load(data);
$(".edit-person").modal('show');
}
});
});
И частичное представление редактирования это.
<div class="modal fade" id="myModal" role="dialog">
<div class="modal-dialog">
<!-- Modal content-->
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">×</button>
<h4 class="modal-title">Modal Header</h4>
</div>
<div class="modal-body">
<p>Some text in the modal.</p>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
</div>
</div>
</div>
Теперь я не понимаю, почему он не рисует (не показывает) контент, который он приносит в ajax в div. Заранее большое спасибо за помощь
Что вам нужно сделать, так это вызвать набор полей, который содержит отредактированную форму и который при сохранении вызывает javascript, который собирает данные через json, отправляет их в контроллер и выполняет обновление, а при возврате ответа (true) выполняет обновление страницы, показывающее обновленные данные.
Это пример, который я использую, и он работает на 100% для меня:
кнопка вызова модального
«модальный» div, который отображает содержимое набора полей
Набор полей для отображения в модальном режиме
сценарий
примеры изображений:
Если вы потерялись с методом Json для сохранения данных, дайте мне знать, и я вам помогу: D
Есть два способа динамической загрузки модального окна:
Загрузить модальное окно удаленно
это означает, что ваше представление должно иметь формат модального
Следующий способ использует ajax:
Иметь контейнер для загрузки модального
Обнаружьте
click
одну из кнопок (как у вас есть в вашем вопросе)Для начала вы должны поместить код, в котором вы вызываете модальное окно, в то же представление, в котором вы вызываете Partial, а также скрипт, в котором вы его вызываете.
Кнопка внутри списка в партиале вроде этого работает на вас
В контроллере для вызова Modal вашего метода GET, подобного этому
Уже сообщение, если вы настроите его на свои нужды.