About SW-Quality Safety SW-Entwicklung UML Nachschlagen Programme
.NET
JAVA
HTML http
XML
SQLXML
Datenbanken
CVS
SQL
Methodenreihenfolge WebDienste Windows Netzwerk Tools

 
ASP.NET mit C# Die Aufrufreihenfolge der Methoden
  • ASP.NET übernimmt das Aufrufen der einzelnen Methoden selbstständig. Dazu müssen die Methoden nur überladen und/oder registriert werden. Da der automatische Aufruf jedoch nicht transparent ist, muss insbesondere im Bezug zum ViewState beachtet werden, dass dieser nicht mehr in der Render Methode geändert werden kann (ViewState wird schon vorher gespeichert (=zum Client geschickt) und kann deshalb in Render nicht mehr verändert werden).
  • Der erste Aufruf einer Seite (also ein HTTP-GET) ruft keine EventHandler auf. Diese werden nur nach einem HTTP-POST aufgerufen. 
  • OnInit()  wird überladen:

  • protected override void OnInit(EventArgs   e)   { .... }
  • LoadViewState wird überladen:

  • Dies ist nur notwendig, wenn selbstdefinierte Daten im ViewState abgelegt wurden. Alle von ASP.NET verwalteten Daten werden automatisch aus dem ViewStare gelesen und sind über die jeweiligen Get/Set Methoden zugreifbar.
    protected override void LoadViewState(object savedState) { ..}
  • OnLoad  wird überlanden:

  • protected override void OnLoad(EventArgs e) {... }
  • OnPreRender wird überladen. Hier kann das Setzen von Standardwerten erfolgen. Die Methode kann auch leer sein. 

  • protected override void OnPreRender( EventArgs   e)  { ... }
  • SaveViewState wird überladen. Wie LoadViewState ist dies nur notwendig, wenn eigene Daten im ViewState gespeichert werden sollen. 

  • protected override object SaveViewState() { .. }
  • Render  wird überladen. Dies ist die wichtigste Methode, hier weren alle Daten gesetzt um diese dann anden Client zurückzuschicken. Das erzeugen der HTML Seite übernimmt ASP.NET automatisch, kann jedoch über this.Response.Write(..) oder den HtmlTextWriter auch expliziet implementiert werden.

  • protected override void Render(HtmlTextWriter w) { .. }
     
  • Alle override Methoden sollten die überladene Methode der Basisklasse aufrufen um die normale Funktionalität nicht zu verhindern. 
 
 

 
©; created Mon Aug 07 22:31:53 CEST 2006; eMail