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?
 
 
 
 

Antwort per Email an