Здравствуйте! Использую Ajax.Beginform() для сортировки списка товаров на своём сайте без перезагрузки всей страницы, для этого я использую в контроллере 2 метода, первый вот этот
public ActionResult List(string category, int page = 1)
{
ListViewModel model = new ListViewModel
{
Fields = new List<SelectListItem>
{
new SelectListItem { Text = "Order By Descending", Value = "OrderByDescending" },
new SelectListItem { Text = "Order By Ascending", Value = "OrderByAscending" },
},
Furnitures = repository.Furnitures
.Where(p => category == null || p.Category.Name == category)
.Skip((page - 1) * pageSize)
.Take(pageSize)
.ToList(),
InfoPages = new InfoPage
{
CurrentPage = page,
ItemsPerPage = pageSize,
TotalItems = category == null ? repository.Furnitures.Count() :
repository.Furnitures.Where(furniture => furniture.Category.Name == category).Count()
},
CurrentCategory = category,
};
return View(model);
}
Этот метод который делает пагинацию и навигацию , вот второй который возвращает PartialView()
public ActionResult Summary(string SelectedValue)
{
ViewBag.CurrentSort = SelectedValue;
IEnumerable<Furniture> result = repository.Furnitures;
if (SelectedValue != null)
{
if (SelectedValue.Equals("OrderByDescending"))
{
result = repository.Furnitures.OrderBy("Price desc")
.ToList();
}
else if (SelectedValue.Equals("OrderByAscending"))
{
result = repository.Furnitures.OrderBy("Price asc").ToList();
}
else
{
result = repository.Furnitures.OrderBy("FurnitureId").ToList();
}
}
return PartialView(result);
}
Вызываю PartialView в вьюшке List так
<div class="container" id="tableBody" >
@Html.Action("Summary")
</div>
В самой partial view прохожусь циклом foreach по всем товарам
Использую для сортировки dropdown , ajax работает хорошо за одним исключением, теперь не работает пагинация и соответственно навигация по категориям, то есть всё товары отображаются на одной странице, я понимаю что проблема в логике в методе Summary, так как я по сути только возвращаю все товары из БД. но каким образом мне прикрутить пагинацию с навигацией в моём partial View методе?? Я там возвращаю IEnumerable, и прошу вашего совета или помощи как мне поступить.Спасибо