Ich habe ein Panel mit Collapsable Panel Extender (Ajax-Toolkit), in dem ein umfangreiches Formular dargestellt wird. Gibt es eine "elegante" Möglichkeit, den kompletten Viewstate dieses einzelnen Panels (also was in den Textfeldern steht, was in den DropDownlisten ausgewählt ist, usw.) zu speichern, z.B. in der Session? Es gibt auf der Page noch mehrere andere Panels und Gridviews, aber ich möchte nur den Inhalt dieses einen Panels wiederherstellen können. Geht das irgendwie geschickter, als jedes Steuerelement einzeln in einer Session-Variable abzuspeichern?
Aber dort wird (wie in allen Beispielen die ich gefunden habe) der Viewstate der ganzen Seite gespeichert. Mir geht es nur um das eine Panel, bzw. alle Steuerelemente, die auf diesem Panel liegen. Insbesondere, da sich deren Art und Anzahl noch mehrfach ändern wird.
Eine Option wäre es, dieses komplexe Panel samt Child Controls in ein UserControl zu packen und dort die Methoden SaveViewState und LoadViewState in der gewünschten Weise zu überschreiben.
Andernfalls würde es, wie du ohnehin schon angedacht hast, ziemlich mühsam (im Form). Du könntest zwar auch da diese beiden Methoden überschreiben, und ausgehend vom Panel rekursiv alle Child Controls identifizieren, aber das ist alles andere als "keep it simple".