ASP.NET Funkrufsteuerungsvorrichtung [geschlossen]
Frage
Ich bin auf der Suche nach einem anständigen Pagingsteuerstation in ASP.NET, ähnlich wie der Stackoverflow Pager. Kann jemand ein empfehlen?
Ich würde es vorziehen, eine, die nicht Postback hat entweder verwenden, nur eine anpassbare Abfragezeichenfolgeflag.
Lösung 2
Ich hatte erwartet, mehr Antworten, aber es sieht aus wie eine Menge Leute nur ihre eigenen. Ich habe einen anständigen gefunden, die recht häufig auf codeproject.com
Es ist nicht ganz das gleiche wie die stackoverflow.com ein. Es wäre schön, wenn es eine anständige Open-Source-Kontrolle ist, die eine Vielzahl von verschiedenen Ausgabemöglichkeiten hatte.
Andere Tipps
Es ist ganz einfach Ihre eigene Rolle. Ich habe eine einfache Benutzersteuerung basierend auf dem Stapelüberlauf Pager mit zwei Eigenschaften ...
- Gesamtzahl der Seiten zur Verfügung gemäß den zugrunde liegenden Daten
- Die Anzahl der Verbindungen zeigen
Die ausgewählte Seite wird durch das Lesen der Query-String bestimmt. Die größte Herausforderung war die Änderung der URL mit der neuen Seitennummer. Dieses Verfahren verwendet einen Abfrage-String-Parameter ‚p‘ angeben, welche Seite angezeigt wird ...
string getLink(int toPage)
{
NameValueCollection query = HttpUtility.ParseQueryString(Request.Url.Query);
query["p"] = toPage.ToString();
string url = Request.Path;
for(int i = 0; i < query.Count; i++)
{
url += string.Format("{0}{1}={2}",
i == 0 ? "?" : "&",
query.Keys[i],
string.Join(",", query.GetValues(i)));
}
return url;
}
Eine einfache Formel, um den Bereich von Seitenzahlen zu bestimmen, um zu zeigen, ...
int min = Math.Min(Math.Max(0, Selected - (PageLinksToShow / 2)), Math.Max(0, PageCount - PageLinksToShow + 1));
int max = Math.Min(PageCount, min + PageLinksToShow);
Jeder Link dann erzeugt wird, wie etwas mit (wobei min und max den Bereich der Seite Links angeben erstellen) ...
for (int i = min; i <= max; i++)
{
HyperLink btn = new HyperLink();
btn.Text = (i + 1).ToString();
btn.NavigateUrl = getLink(i);
btn.CssClass = "pageNumbers" + (Selected == i ? " current" : string.Empty);
this.Controls.Add(btn);
}
Man kann auch schaffen 'Zurück' (und 'Next') Tasten ...
HyperLink previous = new HyperLink();
previous.Text = "Previous";
previous.NavigateUrl = getLink(Selected - 1);
Die ersten und letzten Tasten sind gerade nach vorn ...
HyperLink previous = new HyperLink();
previous.Text = "1";
first.NavigateUrl = getLink(0);
Bei der Bestimmung, wenn das zeigen, „...“, eine wörtliche Steuerung zeigen, wenn der Link-Bereich in den ersten oder letzten Seiten nicht weiter ist ...
if (min > 0)
{
Literal spacer = new Literal();
spacer.Text = "…";
this.Controls.Add(spacer);
}
Machen Sie dasselbe für die oben für "max All dieses Codes wird in einer Überschreibung Methode Create setzen.
Ich habe mit der DevExpress und Telerik Seite steuert und es vorziehen, die DevExpress Pager gearbeitet. Ich bin nicht sicher , wenn der DevExpress Pager direkt mit einem Abfragezeichenfolgeflag arbeiten kann, aber ich wäre überrascht, wenn es nicht der Fall war, da es sehr flexibel ist. Soweit Paging zwischen bestehenden Seiten nach dem Download, alles kann auf dem Client oder residiert, wenn ein Zugriff auf den Server erforderlich ist, wird die Steuerung vollständig AJAX ausgestattet. Ich schlage vor, Sie Ihre Suche auf www.devexpress.com beginnen und dann schauen Sie in www.Telerik.com als auch (was AJAX ist auch vorhanden).
Nicht eine Kontrolle, aber das ist die Art und Weise Paging auf der DB-Ebene zu implementieren: SQL Server 2005 Paging
Ich habe einen Pager Steuer geschrieben genannt: Flexy Pager
Lesen Sie mehr: http: //www.codeproject .com / Artikel / 748.270 / Flexy-Pager-for-ASP-NET-Webformular-MVC