Fragensteller
ASP Paging

Frage
Alle Antworten
-
Hallo,
willst du das Paging Server/ oder Clientseitig durchführen?
Wenn du es Serverseitig durchführen willst, so musst du einen Parameter in der URL enteggen annehmen welcher angibt welche Seite abgerufen werden soll. Serverseitig gibst du dann entsprechend nur den passenden Teil der Liste zurück.
Wenn du es dagegen Clientseitig machen willst, so musst du zunächst wieder alle Einträge an den Client senden und anschließend mittels JavaScript das Paging "aktivieren". Je nachdem welches Framework du Clientseitig verwendest, ist das mehr oder weniger schwer. DataTables.net beispielsweise bietet von sich aus eine Paging-Funktionalität, man kann sie aber auch relativ leicht selbst bauen.
Tom Lambert - .NET (C#) MVP
Wozu Antworten markieren und für Beiträge abstimmen? Klicke hier.
Nützliche Links: .NET Quellcode | C# ↔ VB.NET Konverter | Account bestätigen (Verify Your Account)
Ich: Webseite | Code Beispiele | Facebook | Twitter | Snippets -
Wobei brauchst du denn genau Hilfe? Die genaue Implementierung hängt hier auch davon ab, was du genau nutzt (Web Forms, MVC, ...)
An sich bedarf es eigentlich nur ein wenig Filterarbeit, eventuell mittels LinQs Methoden Take und Skip. Wie viele Einträge du überspringen musst, hängt eben vom übergebenen Parameter ab.
Dann brauchst du eigentlich bloß noch Seiten-Navigations-Controls, die einfach auf die jeweiligen Seiten verlinken (also zur selben Seite, aber mit einem angepassten Parameter für die jeweilige Seite).Tom Lambert - .NET (C#) MVP
Wozu Antworten markieren und für Beiträge abstimmen? Klicke hier.
Nützliche Links: .NET Quellcode | C# ↔ VB.NET Konverter | Account bestätigen (Verify Your Account)
Ich: Webseite | Code Beispiele | Facebook | Twitter | Snippets -
Hallo Stefan,
die angesprochenen Navigations Controls können alles mögliche sein, Links, Buttons, Images, usw.
Beantworte bitte zuerst die von Tom gestellten Fragen, die Antworten hierauf sind sehr wichtig für die weitere Vorgehensweise, da sich die einzelnen ASP.NET Untertechnologien teils komplett voneinander unterscheiden.
Poste bitte auch, welche Art von Objekten Du auf welche Weise am Server ausliest und serverseitig vorhältst. Bitte mit entsprechendem Codebeispiel.
Das Du von "ASP" schreibst, sicherheitshalber noch die Frage: Geht es um (Classic) ASP oder ASP.NET?
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community -
Hallo,
ich habe diese Liste
List<UserDetails> Users = new List<Models.UserDetails>();
Die Länge der Liste kann variabel sein. Aktuell sind es über 100 Einträge. Jetzt möchte ich die ersten 10 Einträge anzeigen.
Was ich noch nicht ganz verstehe ist das Zusammenspiel zwischen den HTML Navigation Elementen und den Code im Controller.
Könnt Ihr mir dazu bitte ein kurzes Beispiel geben?
Gruß
Stefan
-
Hallo Stefan,
für Paging in ASP.NET MVC schau dir bitte zuerst mal die folgenden Artikel an:
http://devproconnections.com/aspnet-mvc/aspnet-mvc-paging-done-perfectly
http://demo.taiga.nl/mvcpaging/SimplePaging
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community -
Danke für die Links.
Wenn ich es versuche nachzustellen bekomme ich immer wieder diese Fehlermeldung:
The model item passed into the dictionary is of type 'System.Linq.OrderedEnumerable`2', but this dictionary requires a model item of type 'PagedList.IPagedList`
Jetzt steht im Netz das ich das Model Umstellen soll.
Wie kann ich das machen? Das Model ist:
public class Details
{
[DisplayName [DisplayName("ID")]
public string userId { get; set; }
}
wenn ich im View IEnumerable angebe läuft es ohne Fehler. Aber wie kann ich hier Paging einstellen?
Gruß
Stefan