ASP.NET MVC Форма поиска с нумерацией страниц
Я в недоумении для слов, так как я должен что-то упустить. Только что закончил ASP.NET MVC 1.0 (WROX), и я пытаюсь реализовать представление, которое выполняет простой поиск, а затем отображает результаты в таблице. Затем я хотел бы иметь возможность просматривать результаты.
Итак, у меня есть поисковое действие от ListingsController, он принимает некоторые значения из FormCollection и фильтрует результаты соответствующим образом:
//
//POST: /Listings/Search
// /Listings/Page/2
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Search(FormCollection collection,int? page)
{
var listings = listingRepository.GetListings();
//filter
if (collection["TypeOfHouse"] != null)
{
string[] typeList = collection["TypeOfHouse"].Split(',');
foreach (string type in typeList)
{
listings = from l in listings
where l.TypeOfHouse == type
select l;
}
}
//display the first page of results
int pageSize = 25;
var paginatedListings = new PriviledgeV1.Helpers.PaginatedList<Listing>(listings, 0, pageSize);
return View("Results", paginatedListings);
}
Первоначально представление «Результаты» будет отображено с первыми 25 записями для страницы 1. Затем у меня есть действие «Результаты», которое обрабатывает «разбиение на страницы»:
public ActionResult Results(int? page)
{
int pageSize = 25;
var listings = listingRepository.GetListings();
var paginatedListings = new PriviledgeV1.Helpers.PaginatedList<Listing>(listings, page ?? 0, pageSize);
return View(listings);
}
Проблема в том, что у меня больше нет FormCollection, я не могу правильно фильтровать результаты. Поэтому, если бы я попытался перейти от, скажем, страницы 1 к странице 2, используя / Listings / Results? Page = 2, сработало бы действие Results, и оно вернуло бы ВСЕ результаты вместо отфильтрованного набора результатов из действия Search.
Я действительно смущен тем, что делать здесь, и почему нет блогов / руководств, объясняющих это, что обычно сигнализирует мне, что я что-то упустил.
Спасибо!