Frage

Ich erstelle ein mehrteilige Web-Formular in ASP.NET, die Panels für die verschiedenen Schritte verwendet, nur das Panel für den aktuellen Schritt sichtbar zu machen. Auf Schritt 1, ich habe eine Dropdown-Liste, die eine Javascript-Funktion verwendet, um einige der Felder in der gleichen Panel über „onchange“ neu zu konfigurieren. Offensichtlich, da der Client-seitige Skript nur auf das DOM zu beeinflussen, wenn ich gehe zu Schritt 2 und dann nach oben zu Schritt 1 zurück, die Felder in Schritt 1 sind zurück in ihre Orignal Konfiguration, obwohl die gleiche Drop-down-Auswahl ausgewählt ist.

Was ist eine gute Methode, um die visuellen Zustand der Paneele zwischen den Schritten zum Speichern? Ich hielt das Drop-Down-Onchange Funktion beim Laden der Seite aufrufen, aber das schien klobig. Dank!

-

Danke für die schnellen Antworten - ich denke, ich werde die Assistenten ausprobieren, aber die AJAX-Lösung klingt auch wie Spaß

.
War es hilfreich?

Lösung

Sie können ein ASP.Net Wizard-Steuerelement prüfen für this- wird es eine Menge automatisieren, was Sie zu tun versuchen.

Andere Tipps

Ich schlage vor, Sie das Multiview-Steuerelement zu verwenden, die die semantisch sachgemäße sagen lassen. Und dann speichert diese Daten in Viewstate. Ich habe etwas ähnliches geschrieben und es rockt.

Ich denke, Ihre beste Wette ist, alle Ihren Zustand an einem Ort zu halten, oder sie halten keinen Staat überhaupt. Das Hauptproblem Sie haben Ihre clientseitigen Zustand mit Ihrem serverseitigen Zustand synchronisiert wird.

Versuche

Ein- / Ausblenden Ihre Platten mit Javascript anstatt zurück zu verbuchen, wenn möglich. Wenn nicht, einig Ajax verwenden, um Werte auf der Server-Seite zu aktualisieren, sobald sie ausgewählt werden, anstatt, wenn Sie die nächste / vorherige Schaltfläche klicken.

Andernfalls könnten Sie so etwas wie ASP.Net Ajax Toolkit Tabs verwenden mit Übergängen zu helfen.

Ich hoffe, das hilft!

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top