Наиболее простой метод - это, вероятно, использовать jQuery AJAX API для запроса метода. Затем вы используете свойство Request.IsAjaxRequest()
в вашем контроллере, чтобы увидеть, был ли запрос сделан с помощью AJAX - если это так, вы возвращаете только PartialView
из действия Controller.
Некоторые примеры кода:
По вашему мнению, вы можете иметь следующую разметку:
<div id="gridContainer">
<% Html.RenderPartial("ContactsGrid", ViewData.Model); %>
</div>
(при условии, что ваши контакты содержатся в объекте Model
, а представление строго типизировано ...)
Затем вам нужно вызвать следующий код JavaScript, когда вы хотите обновить сетку:
$('#gridContainer').load('/contacts/', { filterParameter: andItsValue });
Вы также можете добавить параметр фильтра в URL, если ваши маршруты поддерживают это.
В своем действии контроллера перед возвратом выполните следующую проверку:
if(Request.IsAjaxRequest()) {
return PartialView("ContactsGrid", contacts);
}
return View(contacts);