x_Red_Eagle_x
Erfahrenes Mitglied
Hallo alle Zusammen,
ich entwickle derzeit geraden ein UserControl, welches dynamisch eine gesamten ControlTree erzeugt und ihn dann in sein eigenes Control einfügt. D.h. das UserControl dient nur als Container.
In dem selbst zusammengebauten ControlTree sind wiederum UserControls die gewisse Aufgaben übernehmen. Soweit so gut, das anzeigen dieses ControlTree funktioniert ohne Problemen, jedoch möchte ich nun auch noch etwas Interaktion hineinbekommen.
Zum Initialisieren der Controls hab ich mir eine eigene Klasse gebastelt, welche das Control initialisiert (jedoch kann es genauso noch von außen - durch Properties - initalisiert werden).
Damit diese Intialisierung nur einmal durchgeführt wird, habe ich ein Flag eingeführt, welches sich "IsInitialized":
Dies wird nur an einer Stelle benutz:
Wenn dieses IsInitialized gesetzt wird kommt, das nächste mal wenn ich den ControlTree aufbauen lassen möchte folgende Exception:
Meine bisherigen Recherchen besagen nur, dass ich den ViewState abschalten soll, jedoch benötige ich ihn.
Hat jemand eine Idee wie ich dieses Problem beheben kann?
lg
ich entwickle derzeit geraden ein UserControl, welches dynamisch eine gesamten ControlTree erzeugt und ihn dann in sein eigenes Control einfügt. D.h. das UserControl dient nur als Container.
In dem selbst zusammengebauten ControlTree sind wiederum UserControls die gewisse Aufgaben übernehmen. Soweit so gut, das anzeigen dieses ControlTree funktioniert ohne Problemen, jedoch möchte ich nun auch noch etwas Interaktion hineinbekommen.
Zum Initialisieren der Controls hab ich mir eine eigene Klasse gebastelt, welche das Control initialisiert (jedoch kann es genauso noch von außen - durch Properties - initalisiert werden).
Damit diese Intialisierung nur einmal durchgeführt wird, habe ich ein Flag eingeführt, welches sich "IsInitialized":
Code:
Private Property IsInitialized() As Boolean
Get
If IsNothing(ViewState("IsInitialized")) Then
Return False
End If
Return CBool(ViewState("IsInitialized"))
End Get
Set(ByVal value As Boolean)
ViewState("IsInitialized") = value
End Set
End Property
Dies wird nur an einer Stelle benutz:
Code:
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If IsPostBack Then
....
If Not IsNothing(MetaInfo) Then
If MetaInfo.InitializeValues And Not IsInitialized Then
.....
IsInitialized = True
End If
End If
End If
End Sub
Wenn dieses IsInitialized gesetzt wird kommt, das nächste mal wenn ich den ControlTree aufbauen lassen möchte folgende Exception:
Fehler beim Laden des Ansichtszustands. Die Steuerelementstruktur, in die der Ansichtszustand geladen werden soll, muss mit der Steuerelementstruktur übereinstimmen, die während der letzten Anforderung zum Speichern des Ansichtszustands verwendet wurde. Beim dynamischen Hinzufügen von Steuerelementen müssen die während eines Sendevorgangs hinzugefügten Steuerelemente z.B. in Typ und Position mit den während der ursprünglichen Anforderung hinzugefügten Steuerelementen übereinstimmen.
Meine bisherigen Recherchen besagen nur, dass ich den ViewState abschalten soll, jedoch benötige ich ihn.
Hat jemand eine Idee wie ich dieses Problem beheben kann?
lg