Hallo,
in meiner site hab ich einen asp:wizard. in der page_init methode der page füge ich dem wizard diverse steps hinzu. in jedem step ist ein usercontrol, in disem usercontrol diverse elemente (textbox, radio, label etc....).
die ganze sache wird dynamisch aufgebaut.
mein problem:
das ganze funzt nur wenn ich immer wieder alle pages des wizard aufbaue und hinzufüge. in der page_load methode krieg ich nicht mit ob ich grad der aktuelle wizard step bin oder nicht.
"ich" bin grad ein usercontrol dass in irgendeinem wizardstep ist. und ich möchte nun entscheiden ob ich jetzt all die vielen elemente hinzufügen will oder ob ich mir das sparen kann.
Hallo Peter,
also ich versuchs mal mit anderen worten.
ich baue einen wizard vollständig dynamisch auf. aufgrund einer definition (ein xml) baue ich einen wizard mit n pages. in jeder page hat es ein usercontrol. dem usercontrol übergebe ich die definition, damit es seine gui aufbauen kann. ebenfalls dynamisch. das user_control baue ich in der methode usercontrol.page_load auf.
den wizard baue ich in der page.page_init methode der umgebenden page auf. klappt wunderbar.
funktioniert alles perfekt. wenn ich nun in der methode usercontrol.page_load einen breakpoint setzte, stelle ich fest, dass bei jedem seitenwechsel im wizard, ALLE wizard seiten neu aufgebaut werden (müssen). Aus performance überlegungen habe ich mir überlegt, nur die gerade sichtbare wizardpage aufzubauen. geht aber nicht, denn zum zeitpunkt usercontrol.page_load ist nicht bekannt, wer die aktuelle wizardseite ist, da wizard.activepageindex dann immer 0 ist.
(die kriegt man mit ((WizardStep)this.parent).Wizard.ActivePageINdex....)
dann, was ebenfalls nicht geht, ist im usercontrol.page_load die seite nur aufzubauen, wenn es kein PostBack ist. geht nicht, dann haste leere wizrad steps. hm.
meine frage - hat da einer eine ahnung wie die eventkette bei wizards funktioniert? so dass man immer nur den aktuellen step neu aufbaut.
hier nochmals schematisch der aufbau
Page
Wizard
n-Wizardsteps
pro Wizard STep 1x UserControl
Pro UserControl n-Elemente (Textbox etc..)