Was ist der "Seitenlebenszyklus" einer ASP.NET MVC-Seite im Vergleich zu ASP.NET WebForms?
Ich versuche, diese "einfache" Frage besser zu verstehen, um festzustellen, ob vorhandene Seiten, die ich auf einer (sehr) einfachen Site habe, problemlos aus ASP.NET WebForms konvertiert werden können.
Entweder eine "Konvertierung" des folgenden Prozesses oder ein alternativer Lebenszyklus wäre das, wonach ich suche.
Was ich gerade mache:
(Ja, ich weiß, dass jeder, der in der Lage ist, meine Frage zu beantworten, dies alles bereits weiß. Ich versuche nur, einen Vergleich des 'Lebenszyklus' zu erhalten, also dachte ich, ich würde damit beginnen, das auszufüllen, was wir alle bereits wissen.)
Rendern der Seite:
- Ich habe eine Masterseite, die meine Grundvorlage enthält
- Ich habe Inhaltsseiten, die mir benannte Bereiche von der Masterseite geben, in die ich Inhalte eingefügt habe.
- In einem Event-Handler für jede Inhaltsseite lade ich Daten aus der Datenbank (meistens schreibgeschützt).
- Ich binde diese Daten an ASP.NET-Steuerelemente, die Raster, Dropdowns oder Repeater darstellen. Diese Daten "leben" alle im generierten HTML. Einiges davon gelangt in ViewState (aber ich werde nicht zu viel darauf eingehen!)
- Ich lege Eigenschaften fest oder binde Daten an bestimmte Elemente wie Bild- oder TextBox-Steuerelemente auf der Seite.
- Die Seite wird an den Client gesendet und als nicht wiederverwendbares HTML gerendert.
- Ich versuche zu vermeiden, ViewState zu verwenden, außer dem, was die Seite mindestens benötigt.
Client-Seite (ohne ASP.NET AJAX):
- Ich kann JQuery und einige böse Tricks verwenden, um Steuerelemente auf der Seite zu finden und Operationen an ihnen auszuführen.
- Wenn der Benutzer aus einem Dropdown-Menü auswählt, wird ein Postback generiert, das ein C # -Ereignis in meinem Codebehind auslöst. Dieses Ereignis wird möglicherweise in die Datenbank übertragen, aber was auch immer es tut, eine vollständig neu generierte HTML-Seite wird an den Client zurückgesendet.
- Ich kann Page.Session verwenden, um Schlüsselwertpaare zu speichern, die ich später wiederverwenden muss
Wie ändert sich dieser „Lebenszyklus“ bei MVC?