У меня есть PartialView, который отображает сетку, используя список классов модели, переданный от контроллера.
@model IEnumerable<DeliveryDashboard.Models.UpcomingDMR>
@Html.Partial("~/Views/Shared/_DMRGrid.cshtml", Model)
Сетка рендерится отлично. Теперь я добавил раскрывающийся список в верхней части сетки.
в событии OnChange раскрывающегося списка мне нужно нажать на контроллер и получить обновленный список того же класса модели, который должен обновить существующую сетку.
<script type = "text/javascript">
$(function () {
//Refresh Grid on Date Range Change
$('#DateRange').change(function () {
$.ajax({
url: '@Url.Content("~/DMR/UpcomingDMRByDateRange/")',
dataType: 'json',
type: 'POST',
data: JSON.stringify({ DateRange: $('#DateRange option:selected').val() }),
contentType: 'application/json',
success: function (result) {
// Refresh partialView Here
}
});
});
});
Мой код контроллера возвращает список класса модели, который мне нужно использовать для привязки частичного представления.
public List<UpcomingDMR> UpcomingDMRByDateRange(string DateRange)
{
// get data from database and prepare List<UpcomingDMR>
return NewDataList;
}
Теперь, как я могу обновить свое частичное представление из Success block моего вызова Ajax?





Вы можете сделать это так в своем методе успеха:
$(function () {
//Refresh Grid on Date Range Change
$('#DateRange').change(function () {
$.ajax({
url: '@Url.Content("~/DMR/UpcomingDMRByDateRange/")',
dataType: 'json',
type: 'POST',
data: JSON.stringify({ DateRange: $('#DateRange option:selected').val() }),
contentType: 'application/json',
success: function (result) {
$("#your_partial_view_id").load('@Url.Action("Foo","Bar")',result)
}
});
});
});
Пожалуйста, оставьте отзыв