По умолчанию я загружаю все данные в частичном представлении
HTML-код в Index.cshtml
@model GMWUI.ViewModel.MessageDisplayModel
<div id="divTblMsg" class="grid-content">
@{
Html.RenderPartial("filterMessages", Model);
}
</div>
HomeController.cs
public async Task<IActionResult> Index()
{
messageDisplayModel.Messages = await ApiClientFactory.Instance.GetMessages();
return View(messageDisplayModel);
}
когда пользователь нажимает кнопку фильтра с критериями поиска
Я получаю отфильтрованные данные из веб-API в мой домашний контроллер. Метод фильтрации сообщений
вот мой ajax-вызов, когда я нажимаю кнопку фильтра
$.ajax({
method: 'post',
url: "Home/postMessage",
data: JSON.stringify(model),
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (data) {
//my table element id is divTblMsg
$("#divTblMsg").html(data);
}
});
HomeController.cs
[HttpGet]
public async Task<IActionResult> filterMessages(GetMessageParams searchCriteria)
{
//I though adding below line will clear old data should update partial view with filtered data, but it is not working.
messageDisplayModel.Messages = Enumerable.Empty<Messages>();
messageDisplayModel.Messages = await ApiClientFactory.Instance.GetMessages(searchCriteria);
//I am getting filtered data to messageDisplayModel.messages and I am passing it to partial view
return PartialView("filterMessages", messageDisplayModel.Messages);
}
Мне не удалось найти проблему