Kann ich ein Update vermeiden, die Ansichtszustand tötet?

stimmen
3

Ich Auswahlseite, die eine Gridview hat, die den Benutzer eine Liste von Datenelementen präsentiert, die sie anklicken können „Drill in“ - sie auf die Datenpflege Seite umleitet.

Da die Liste kann lange erhalten, haben wir eine Reihe von Checkboxen und Drop-Down-Listen oben, die als Filter wirken.

Wir führten nur ein Update mit einem UpdatePanelAnimationExtender, so dass, wenn die Seite langen Fahrten zurück zum databse gemacht, würden sie einen schönen „Processing ...“ erhalten Pop-up.

Das Problem ist, scheint dies den Ansichtszustand auf den Dropdown-Listen zu brechen und Kontrollkästchen. Nun, wenn sie gehen auf die ‚Detailseite‘ und drücken Sie die Taste BACK, um die ‚Auswahl‘ Seite zu kommen - die ausgewählten Werte in dem Kontrollkästchen und Drop-downlists sind wieder auf ihre anfänglichen Vorgaben. Die Listen sind noch bevölkert, aber sie ‚vergessen‘, was sie hatten, wenn der Benutzer auf die Datenpflege Seite geklickt.

Ich nahm den ASPX-Code für das Update und die Animation erweitert und erneut getestet und alles funktionierte perfekt. Also, es scheint, die Update und / oder die AnimationExtender nicht schön spielen mit dem Ansichtszustand.

Gibt es eine Weise, die ich die Aktionen des Update stoppen kann aus in der Tat, eliminiert die‘.SelectedValue“ Eigenschaften?

Veröffentlicht am 29/06/2009 um 16:15
quelle vom benutzer
In anderen Sprachen...                            


1 antworten

stimmen
2

Zuerst würde ich Ihren „Filterung“ Steuerelemente aus dem Update entfernen. Unter der Annahme, dass die Daten für diese Kontrollen auf Page_Load bewertet sind, müssen sie nicht jedes Mal aufgefrischt werden die Filter auf die Gridview angewendet wird. Nur der Gridview wird aufgefrischt, so ist es wahrscheinlich, dass es die einzige Steuerung, die in dem Update enthalten sein sollte.

Jede der Filtersteuerungen kann als Trigger zugegeben werden, um die Update Aktualisierung, indem sie in dem Abschnitt der Updatesteuerung erklärt. Oder, wenn der Filterprozess durch eine „Eintragen“ wie Taste aufgerufen wird, das wäre die Steuerung zu im Abschnitt deklariert werden. Dies sollte die Werte der Filter Kontrollen in den Browser-Cache halten.

Sie können auch versuchen Updatehistory Kontrolle des Nikhil Kothari (Nikhil hat eine ausgezeichnete Blog, btw) , die den Inhalt des Update als Historieneinträge in der Browser-History - Liste speichert.

EDIT: FYI, ist Update nicht „töten“ Viewstate. Der Viewstate wird hin und her über den Update-Mechanismus Update übertragen, oft Performance-Probleme verursachen, wenn die Viewstate übermäßig groß ist. Was Sie sehen, ist die Geschichte Cache des Browsers nicht die Werte zu speichern, die an aufeinanderfolgenden Rückrufe wurden aktualisiert. Die obigen Techniken sollen helfen.

Beantwortet am 29/06/2009 um 16:51
quelle vom benutzer

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more