Hallo Community,
Ich habe mich schon oft über dieses Thema informiert und arbeite hin und wieder hiermit (Meistens nutzt man ja eh die fertigen Controls), doch bin ich immernoch recht unschlüssig, wie man dies lösen soll. Mir kommt es so vor, das ich es viel zu umständlich
mache.
Wenn ich nun ein Control erstelle, so steht die Initialisierung des Controls im "Page.Init", das ist klar, steht auch über fest definiert.
Nun weiß ich nicht (Jedenfalls bin ich mir da nicht sicher), wann so ein Control in der Regel seine Datasource haben soll (Vom Control Life Cycle gesehen). Die verwirrung entsteht, da ich noch die Daten vom Post (Wenn IsPostBack = True ist) verarbeiten muss,
um die Daten zu registrieren um somit die Datasource zu manipulieren. Die Manipulation muss vor der neuen Datenbindung geschehen, damit man ja die Änderungen sieht, aber wann?.
Ist dies so richtig?:
Wenn ich nun eine einfache HTMLTable habe mit mehreren Rows und in diesen Rows existieren auch mehrere Controls (Literal, DropDown u.s.w.), so entsteht die Tabelle selbst erst im Page.Init. Die Daten vom Post werden im PreLoad verarbeitet (Ändern, Löschen,
Speichern)(Mit Request.Form("xy"), da die Controls noch die Daten vom Post davor besitzen). Dann Erstelle ich die Rows mit den Controls im PageLoad mit den Daten aus der Datasource.
Wenn ich dies aber auch alles noch im WebControl selbst erstelle, wie soll dies dann aussehen. Also wenn ich ein Custom WebControl erstelle. (Als wenn ich z. B. eine Light version vom "DataTable" Control mit HTMLTable erstelle)
Irgendwie glaube ich, das ich es total umstendlich mache und ich lasse mich auch hier sehr gerne eines besseren belehren.
Es wäre richtig super, wenn mir jemand ein recht umfangreiches Beispiel geben könnte, damit ich mir ein Bild hiervon machen kann.
Danke schonmal im vorraus.
EDIT1:
???Theoretisch muss ich doch das Control 2x an die Daten binden, einmal um den Viewstate von vorher zu erhalten(Init) und ein zweites mal um die Änderungen darzustellen.(OnLoad)???