Quel est le «cycle de vie de page» d'une page ASP.NET MVC, par rapport aux WebForms ASP.NET?
J'essaie de mieux comprendre cette question «simple» afin de déterminer si les pages existantes que j'ai dans un site (très) simple peuvent être facilement converties à partir de WebForms ASP.NET.
Soit une «conversion» du processus ci-dessous, soit un cycle de vie alternatif serait ce que je recherche.
Ce que je fais actuellement:
(oui, je sais que quiconque est capable de répondre à ma question sait déjà tout cela - j'essaie juste d'obtenir une comparaison du `` cycle de vie '', alors j'ai pensé que je commencerais par remplir ce que nous savons déjà tous)
Rendu de la page:
- J'ai une page maître qui contient mon modèle de base
- J'ai des pages de contenu qui me donnent des régions nommées à partir de la page maître dans laquelle je place le contenu.
- Dans un gestionnaire d'événements pour chaque page de contenu, je charge les données de la base de données (principalement en lecture seule).
- Je lie ces données à des contrôles ASP.NET représentant des grilles, des listes déroulantes ou des répéteurs. Ces données «vivent» toutes dans le HTML généré. Une partie entre dans ViewState (mais je n'entrerai pas trop dans cela!)
- Je définis des propriétés ou je lie des données à certains éléments tels que les contrôles Image ou TextBox sur la page.
- La page est envoyée au client en tant que HTML non réutilisable.
- J'essaie d'éviter d'utiliser ViewState autre que ce dont la page a besoin au minimum.
Côté client (sans utiliser ASP.NET AJAX):
- Je peux utiliser JQuery et quelques astuces désagréables pour trouver des contrôles sur la page et effectuer des opérations sur eux.
- Si l'utilisateur sélectionne dans une liste déroulante - une publication est générée qui déclenche un événement C # dans mon codebehind. Cet événement peut aller à la base de données, mais quoi qu'il fasse, une page HTML entièrement nouvellement générée finit par être renvoyée au client.
- Je peux utiliser Page.Session pour stocker les paires valeur / clé que je devrai réutiliser plus tard
Alors avec MVC, comment ce «cycle de vie» change-t-il?