Dynamische Webcontrols (abhängig von Benutzereingaben)

Ceppi

Erfahrenes Mitglied
Hallo,

ich möchte mit ASP.NET einen Fragebogen erstellen. Dabei beantwortet der Benutzer eine Frage mit Antwortmöglichkeiten und erhält je nach Antwort die nächste - es gibt also keine lineare Fragenabfolge. Wie verwende ich in diesem Zusammenhang am besten die Webcontrols?

Da somit bei jedem erneutem Laden der Seite sich dessen Aussehen ändert, bekomme ich Probleme bei der Verwendung von dynamisch hinzugefügten Webcontrols. Wenn ich nun dynamisch die Fragen als Label, Button und RadioButtons generiere, wie komme ich an die Benutzereingaben? Damit Events funktionieren, muss doch das Webcontrol mit der gleichen ID wieder erstellt werden...
 
Im Prinzip würde das Wizard-Control mir wohl helfen, wenn der Fragebogen an sich nicht extern in einer XML-Datei definiert werden sollte (zwecks einfacher Änderung/Erweiterung).

Die einzelnen Wizard-Steps müsste ich deshalb wiederum dynamisch generieren. Ich könnte mir zwar die bisher durchlaufenen Fragen in der Session merken und danach jeweils den Wizard mit Steps aufbauen, aber funktioniert das dann auch? Oder muss ich ALLE Fragen bei jedem Seitenaufruf generieren :( ?
 
Beim Seitenaufruf (Page_Load) erzeugst du den Wizard
C#:
if(!IsPostback)
{
    //wizard erzeugen
}

Da der Wizard zwischen den einzelnen Schritten (in deinem Fall Fragen) mit Postbacks arbeitet, wird der Wizard dank Viewstate immer wieder hergestellt. Es reicht also ein einmaliges zusammenbauen (auslesen aus XML) und der Rest sollte funktionieren ;)

Ich könnte mir zwar die bisher durchlaufenen Fragen in der Session merken und danach jeweils den Wizard mit Steps aufbauen

Eben das nimmt dir der Wizard ab ;)
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück