none
ASP Paging RRS feed

  • Frage

  • Hallo,

    ich habe eine Liste mit Objekten. 

    Diese Liste gebe ich im View aktuell komplett aus. 

    Wie kann ich hier eine Paging Ausgabe für die Liste erstellen?

    Viele Dank

    Stefn

    Sonntag, 23. Oktober 2016 09:47

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

    Sonntag, 23. Oktober 2016 18:34
  • Hallo,

    Danke Tom für Deine Antwort.

    Gerne möchte ich Serverseitiges Paging. Kannst Du mir hierzu etwas Hilfe geben?

    Sonntag, 23. Oktober 2016 18:59
  • 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

    Sonntag, 23. Oktober 2016 21:32
  • Da ist noch mein Problem. Wie kann ich die Seiten-Navigations-Control plazieren.

    Gruß

    Stefan

    Montag, 24. Oktober 2016 06:23
  • 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

    Montag, 24. Oktober 2016 06:41
    Moderator
  • Halo Stefan,

    ich habe eine ASP.NET MVC Seite.

    Gruß

    STefan

    Montag, 24. Oktober 2016 07:51
  • 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

    Montag, 24. Oktober 2016 08:32
  • 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

    Montag, 24. Oktober 2016 09:00
    Moderator
  • 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

    Montag, 24. Oktober 2016 13:56