Я установил простую систему подкачки в моем приложении, которая использует идею из учебника nerddinner, используя класс списка с разбивкой по страницам:
public class PaginatedList<T> : List<T> {
public int PageIndex {}
public int PageSize {}
public int TotalCount {}
public int TotalPages {}
public PaginatedList(IQueryable<T> source, int pageIndex, int pageSize){}
public bool HasPreviousPage {}
public bool HasNextPage {} }
Пейджинг работает, и я использую его для получения длинных таблиц из базы данных через LINQ2SQL, как в этом действии контроллера:
public ActionResult Index(int page=0)
{
const int pageSize = 10;
var source = repo.SvaMjesta();
var paginatedList = new PaginatedList<Mjesto>(source, page, pageSize);
return View(paginatedList);
}
Пейджинг работает нормально, я могу попасть на любую страницу, если использую тип запроса o URL: / Admin / Mjesta? Page = 2
Это то, чего я хочу избежать, и хотел бы использовать простой URL-адрес, такой как: / Admin / Mjesta / Page / 2
С этой целью я сделал эту запись в моем AdminAreaRegistration.cs
context.MapRoute(
"pMjesta",
"Admin/Mjesta/Page/{page}",
new {controller = "Mjesta", action = "Index"});
Но когда я пытаюсь получить доступ к URL-адресу, например / Admin / Mjesta / Page / 2 , он все равно выдает ошибку 404.
Моя идея заключалась в том, чтобы сначала создать какую-то общую запись подкачки в MapRouting, чтобы я мог использовать одно и то же частичное представление для отображения элементов управления подкачкой для каждого списка, где мне это нужно, но поскольку я не мог заставить его работать пробовал этот более конкретный подход, но я все еще не могу заставить контроллер реагировать на этот запрос URL.
Любые идеи и / или предложения, пожалуйста?