|
Ziel ist die Erstellung eines Fragebogens (gibt es
vielleicht hierf�r schon Quellcode?)
Es gibt 3 Frageabschnitte: Personaldaten, die
Fragen welche immer gleich aufgebaut sind und jeweils eine beantwortet
werden soll (beantwortet mit RadioButtonList) und ein Abschlu�-Textbox, die
Verbesserungsw�nsche zul�sst.
Ich habe f�r alle 3 Abschnitt den HTML Code
ausgelagert und eigene ascx Benutzersteuerelemente erstellt, diese werden in die
aspx Datei im Form-Tag eingebaut. Jedoch zu jedem Zeitpunkt nur eines.
Fragen gibt es mehrer, die aus einer DB gezogen
werden. Diese Elemente funktionieren und werden auch korrekt
angezeigt!
Jedes dieser Elemente hat einen "Weiter" Button.
(Die Fragen sollen sp�ter noch die Option zur�ck haben.)
Jetzt habe ich das Problem in meiner aspx
Hauptdatei die Ergeignisse der einzelnen Benutzerelemente zu verarbeiten.
Ich habe in den Benutzerlementen(ascx) ein Ereignis
"Weiter_Button" definiert und eine Methode Weiter() die per RaisEvent
diesen Event ausl�st. Diese Methode wird ausgel�st wenn im Benutzersteuerelement
der weiterButton (addhandler"-Methode dem Benutzersteuerelement Addhandler und dessen
Ergeignis (Weiter_Button) per "addressOf" eine Methode im Hauptprogramm
zugewiesen die Daten aus dem Benutzerformular liest.
(z.B.
Dim FrageForm as Frage_ascx
FrageForm =
Page.LoadControl("Frage.ascx)
AddHandler FrageForm.Weiter_Click, adressOf
Speicher_FrageErgebniss)
Wie verwende ich da korrekt Events? Mache ich dass
richtig?
Manchmal wird nach dem PostBack das Ereignis
ausgef�hrt manchmal findet er die Ereignishandler im aspx nicht.
In der Page_Load() Methode verwende ich dabei
folgende "Logik" Hier findet er dann keinen Ereigniss h�ndler. Lasse ich
jedoch Session("showPersonaldaten") = false weg funktioniert
es?!?!?!
----------------------------------------------------------------------------------------------------------------------------
Session("showFragen") = false
Session("showPersonaldaten") true
If(Session("showFrage") = true Then
Session("showPersonaldaten") = false
IF("es gibt noch fragen")
"Fragen-Benutzerlement laden:"
Dim FrageForm
as Frage_ascx
FrageForm =
Page.LoadControl("Frage.ascx)
AddHandler FrageForm.Weiter_Click,
adressOf Speicher_FrageErgebniss
Panel1.Controls.add(FrageForm)
.... Else
"Verbesserungs-Benutzerelement laden"
End IF
End IF
IF(Session("ShowPersonaldaten")) =true
"Personaldaten-Benutzerlement
laden"
Session("showFragen")
=true
End IF
----------------------------------------------------------------------------------------------------------------------------
Liegt es vielleicht daran, dass ich den gesamten
Programmcode im PageLoad laufen lasse?
|
