Laden...

asp.net:wizard & postback

Erstellt von HappyLil vor 15 Jahren Letzter Beitrag vor 15 Jahren 1.105 Views
H
HappyLil Themenstarter:in
154 Beiträge seit 2007
vor 15 Jahren
asp.net:wizard & postback

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.

hat da einer ne idee?

S
683 Beiträge seit 2006
vor 15 Jahren

was fuer ein step bist du?

Eine Null kann ein bestehendes Problem verzehnfachen

H
HappyLil Themenstarter:in
154 Beiträge seit 2007
vor 15 Jahren

"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.

S
683 Beiträge seit 2006
vor 15 Jahren

Eine Null kann ein bestehendes Problem verzehnfachen

5.941 Beiträge seit 2005
vor 15 Jahren

Hallo HappyLil

Deine Frage verstehe ich nicht wirklich.
Die Architektur vom Wizard-Control baut darauf aus, dass alle Steps immer verfügbar - also geladen - sind.

Dein Problem musst du mir aber genauer erläutern.

Gruss Peter

--
Microsoft MVP - Visual Developer ASP / ASP.NET, Switzerland 2007 - 2011

S
683 Beiträge seit 2006
vor 15 Jahren

falscher thread....

Eine Null kann ein bestehendes Problem verzehnfachen

H
HappyLil Themenstarter:in
154 Beiträge seit 2007
vor 15 Jahren

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..)

anscheinend haben da andere auch so ihre probleme
http://www.velocityreviews.com/forums/t302169-wizard-control-and-postbacks.html

nur eben keine lösung.... (die im thread beschriebene lösung funzt nicht)

S
683 Beiträge seit 2006
vor 15 Jahren

die step_id in der session persistieren?

Eine Null kann ein bestehendes Problem verzehnfachen

H
HappyLil Themenstarter:in
154 Beiträge seit 2007
vor 15 Jahren

geht mE nicht, da die erst nach dem aufbauen der WizardPages, bekannt ist, welches die neue aktuelle page sein soll 😦