2009-05-22 7 views
0

Ein Ex-Kollege entwickelte eine Anwendung, die so ziemlich ein bearbeitbares Grid war (think timesheet)..Net Microsoft Ajax Viewstate Problem

MS Ajax wurde dafür verwendet und das Gitter wurde in ein Update-Panel eingewickelt.

Um die Dinge die komplexen Objektgraphen schlimmer wurden viewstate so wurde die Seite aktualisiert, dh eine Zelle aktualisiert jedes Mal gespeichert werden, die alle das Gitter und viewstate würden vom Client zum Server in der Post zurück und mit einem übergeben bekommen viewstate Größe von fast einer Meg-Performance ist Hosen.

Von meinem Verständnis von Ajax sollten wir nur minimale Datenmengen weitergeben und nur was benötigt wird. Dies würde eine Neufassung erfordern und wäre teuer. Welche anderen Alternativen gibt es?

+0

für MS Ajax, die "minimale Datenmengen" ist keine gültige Aussage. Die Verwendung von jquery für ein Neuschreiben ist mehr als ratsam. – balint

Antwort

0

Danke für die Antwort. Eine Neufassung steht auf dem Plan, aber wir müssen die Anwendung in der Zwischenzeit reparieren, um den Kunden zufrieden zu stellen und uns Zeit zu geben, ihn neu zu schreiben.

Ich brauche eine Liste von Schnellkorrekturen. Eine, die ich untersuchen werde, wird den ViewState in einer SQL-Datenbank speichern.

Danke, B

2

Idealerweise müssen Datenraster mit deaktiviertem ViewsState verwendet werden. Das würde bedeuten, dass das Gitter bei jedem Postback gebunden wird.

ControlState wird anstelle von ViewState verwendet, wenn es absolut notwendig ist, den Status einer Steuerung beizubehalten. Sie können mehr über ControlState here lesen.

EDIT: Auch gibt es viele leichte Ajax-y-Datenrätsel zur Verfügung. Flexigrid ist einer von ihnen. Es ist eine jQuery Implementierung.