2008-11-15 17 views
13

Obecnie używam strategii znalezionej na wielu blogach. Zasadniczo adres URL zawiera numer strony (np./Users/List/5 daje użytkownikom na stronie 5 Twojej stronicowanej listy użytkowników). Jednak nie jestem w sytuacji, w której jedna strona musi zawierać dwie osobne listy stronicowane. Jak zrobić to przy użyciu ASP.NET MVC? Czy po prostu podaję dwa parametry adresu URL (np./Users/List? Page1 = 1 & page2 = 2)? Czy jest lepszy sposób, używając częściowych widoków?Jak zaimplementować stronicowanie w ASP.NET MVC?

Odpowiedz

10

Ignorując trasy przez minutę, po prostu utrzymasz stan dwóch różnych stron w URL-u jako parametry pośredniczące.

mysite.com/foo?list1page=2 & list2page = 8

Następnie należy zbudować dane/pagery odpowiednio. Linki stronicowania po prostu zaktualizują adres URL.

Możesz tworzyć kreatywne trasy, aby tworzyć bardziej przyjazne adresy URL, ale myślę, że paramerty są tutaj całkowicie dopuszczalne.

+1

Co zrobić, jeśli musisz nadążyć za wieloma parametrami wyszukiwania? –

+0

To staje się nieco bardziej złożone. Prawdopodobnie będziesz potrzebował pomocy w pewnym kontekście i wygenerowania odpowiedniego adresu URL. –

2

Jeśli używasz parametrów zapytania, linki do stron na każdej liście muszą znać się nawzajem, aby przekazać oba parametry.

Jeśli te dwie listy są od siebie niezależne, można je aktualizować pojedynczo za pomocą jquery & ajax. Po prostu umieść każdą listę we własnym div jako częściowy widok.

<div id="list1"><%= Html.RenderPartial ("ListA") %></div> 
<div id="list2"><%= Html.RenderPartial ("ListB") %></div> 

Lookup ajaxSubmit z formularza plugin jQuery łatwy sposób na aktualizację list.

Powiązane problemy