2009-06-18 5 views
1

Ich bin auf der Suche nach dem besten Weg, dies in ASP.NET zu implementieren.ASP.NET nächste/vorherige Schaltflächen zum Anzeigen einzelner Zeile in einem Formular

Auf der Seite hat der Benutzer die Möglichkeit, die Abonnementnummern mit den nächsten und vorherigen Schaltflächen zu durchsuchen.

Wenn der Benutzer auf die nächste/vorherige Schaltfläche klickt, wird die Seite zurückgebucht (teilweise, AJAX) und die Abonnementdetails werden in einem Formular angezeigt. Es wird jeweils nur eine Zeile angezeigt.

Es gibt ungefähr 10.000 Subskriptionsnummern. Wenn wir also vermeiden könnten, alle Subskriptionsnummern auf jedem Postback zu laden, würden wir das bevorzugen.

Irgendwie brauche ich einen Zähler, um den gesamten Posten und die aktuelle Position zu verfolgen, nein? Wenn das so ist, wie würdest du sie speichern, damit sie beim Postback bestehen bleiben?

Vielen Dank im Voraus. Hilfe wird sehr geschätzt.

Antwort

3

Sie können Eigenschaftsvariablen auf der Seite erstellen und die Werte im ViewState der Seite speichern. Hier ein Beispiel:

public int CurrentPosition 
{ 
    get{return (int)(ViewState["CurrentPosition"] ?? 0);} 
    set{ViewState["CurrentPosition"] = value;} 
} 

In diesem Beispiel zwischen Postbacks, ob vollständig oder teilweise, ist der Wert in der Eigenschaft Currentposition gespeichert wird beibehalten werden.

Anfangs wird CurrentPosition gleich 0, dann in Ihrer Abfrage abrufen mit wie WHERE ID = CurrentPosition + 1, dann erhöhen Sie den Wert von CurrentPosition um eins. Wenn Sie in den Ergebnissen zurück navigieren, verringern Sie um 1.

+0

Vielen Dank. Schöne und einfache Lösung. –