ASP.NET MVC Pagination & Statehandling

Tags:    asp.net mvc paging

Hejsa

Jeg har jo tidligere rodet med Webforms, og har nu kastet mig ud i MVC.
Det jeg nu er stødt på er paging.

Fx en side med 5 grupperinger af data som viser top 10 af disse.
Vil gerne lave AJAX kald til hver der kan hente de næste 10 indenfor hver gruppe - det er ikke problemet.
Fordi Google ikke bruger javascript skal siden også laves så den kan håndteres uden javascript, og her kommer problemet.

Hvis min bruger trykker på "Vis flere supper" og får de 10 næste, og så trykkker på "Vis flere kager" så skal den jo stadig have de 20 supper, og nu også vise 20 kager.

Hvordan kan jeg lige håndtere denne state i MVC?
Skal jeg gemme sådan nogle ting i sessionen? Og vil det så stadig virke når Google kommer og crawler ens side? Og jeg skal vel helst ændre min URL til noget passende så den vil kunne forstå det og adskille siderne, men hvordan?

P.S. Hvis Google's crawler trykker på min knap og får en ny side leveret, vil den så blive ved med at trykke på alle mine knapper samtidigt til den ikke vises mere så alle elementer er fundet?
Tænker på det ikke er så heldigt hvis Google trykker en gang på knappen, og ikke yderligere for så vil den altid kun indeksere de 20 første.



2 svar postet i denne tråd vises herunder
0 indlæg har modtaget i alt 0 karma
Sorter efter stemmer Sorter efter dato
Starter dine grupperinger med at have 10 elementer eller er det noget som du loader asynkront med AJAX, når brugeren kommer ind på siden eller er det en del af dit view?

Det man kan gøre under alle omstændigheder er, hvis det er en søgerobot der besøger din side så giver du den et view som indeholder alle dine elementer eller præsentere dem på "gammeldags" pagination, så den har mulighed for at besøge alle links uden.

Du kan evt. tage et kig her: https://developers.google.com/webmasters/ajax-crawling/



@Martin

Tak for svar, men af princip er jeg imod at lave ting dedikeret til en søgerobot. Funktionaliteten skal jo helst også gerne virke for personer der har disablet deres javascript.
Her det er vigtigt for mig at oplevelsen ikke bliver at man får 10 i hver katefori, og når man så trykker på en knap hentes kun de 10 næste indenfor denne kategori - hvis man så klikker på en anden kategori skal ens "historik" der er "indhentet" jo ikke forsvinde fordi man skifter kategori.

Min tanke var at ved load så viser jeg altid top10 af alle kategorier som en del af mit view, og dem som har flere elementer i sig, vil en "vis 10 mere"-knap vises herunder. Problematikken kommer så i at få historik, URL'er til at fungere - for hvis jeg lavede det hele i AJAX var det rimeligt nemt.
Så jeg skal have løst problematikken at lave det til at virke rent uden javascript, rent funktionsmæssigt i views, med rette actions og URL'er.



t