Formularz wyszukiwania ASP.NET MVC z paginacją

Tracę słowa, bo czegoś mi brakuje. Właśnie skończyłem ASP.NET MVC 1.0 (WROX) i próbuję zaimplementować widok, który wykonuje proste wyszukiwanie, a następnie wyświetla wyniki w tabeli. Chciałbym wtedy móc przeglądać wyniki.

Mam więc akcję wyszukiwania z ListingsController, pobiera niektóre wartości z FormCollection i odpowiednio filtruje wyniki:

        //
    //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);
    }

Początkowo widok Wyniki zostanie wyświetlony z 25 pierwszymi rekordami na stronie 1. Następnie mam akcję Wyniki, która obsługuje „paginację”:

    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);
    }

Problem polega na tym, że nie mam już FormCollection, nie mogę poprawnie filtrować wyników. Gdybym więc próbował przejść ze strony powiedzonko1 na stronę 2 za pomocą / Listings / Results? Page = 2, akcja wyników mogłaby zostać uruchomiona i zwróciłaby WSZYSTKIE wyniki zamiast filtrowanego zestawu wyników z akcji wyszukiwania.

Naprawdę jestem zdezorientowany, co tutaj robić i dlaczego nie ma blogów / samouczków wyjaśniających to, co zwykle oznacza, że ​​coś mi brakuje.

Dzięki!

questionAnswers(2)

yourAnswerToTheQuestion