J'ai toujours pensé que ASP.NET MVC Framework était un mauvais nom puisqu'il s'agit d'un motif de conception.
La question devrait être:
Quand utiliser ASP.NET Framework MVC sur les formulaires Web ASP.NET?
Le développeur Expérience
a) Web Forms ASP.NET tente d'abstraire la nature sans état de HTTP du développeur. L'état des éléments GUI et/ou les données sont stockés dans Viewstate/Session. Tout le monde forme une publication sur elle-même, imitant essentiellement le comportement d'un design piloté par un événement WinForm.
b) Les éléments de l'interface graphique HTML sont en outre analysés par des contrôles qui peuvent être réutilisés, achetés à des fournisseurs tiers. Cela permet aux développeurs de coller une application HTML ensemble sans trop de connaissances JavaScript et HTML/HTTP. Fondamentalement similaire à la façon dont vous développeriez VB/WinForms
c) Vous pouvez faire du bon travail en implémentant le modèle MVC/MVP dans les formulaires Web ASP.NET. Regardez la fabrique de logiciels Web de Patterns and Practices pour voir comment ils l'ont fait.
d) En utilisant WebForms, vous modifiez généralement le HTML (View) en fonction des commentaires des utilisateurs sur le serveur. La plupart des événements (l'utilisateur clique sur un bouton, modifie un champ) sont traités sur le serveur dans une boucle de publication continue exécutant ce que l'on appelle le cycle de vie de la page ASP.NET.
VS
vue contrôlée
Browser (ne sais pas quoi d'autre pour l'appeler). Toutes les modifications apportées au code HTML en fonction de la saisie par l'utilisateur sont gérées dans le navigateur. Vous allez manipuler le DOM avec Javascript.
Note: Je basant cela sur le fait que ASP.NET MVC est très probablement tirée par HTML de base + Ajax
Comment je choisirais personnellement entre eux (jamais avoir utilisé MVC, en train de lire à ce sujet)
1) Si je devais construire un frontal sans état pur en utilisant Ajax, Jquery, EXT JS bibliothèques ASP.NET MVC semblerait le meilleur ajustement. Bien que vous puissiez le créer dans des formulaires Web ASP.NET, cela semble inutile puisque vous ne profitez pas du modèle de publication et des contrôles serveur.
2) Si on me demandait de créer une nouvelle application Web de base, je m'en tiendrais aux Webforms ASP.NET puisque je la connais déjà et que je connais l'ensemble de la page lifecylce.
3) Si on me demandait de construire un site Web 2.0 (déteste ce terme) pour avoir une prochaine expérience utilisateur gen, j'irais probablement avec ASP.NET MVC, et utiliser les contrôles client JQuery/ASP.NET Ajax.
4) De nombreuses entreprises ont mis en place un ensemble solide de contrôles WebForm à utiliser. Il serait coûteux de les reconstruire tous de manière purement apaxiale et sans état.
Cette question semble être hors sujet, car il est pas dans les limites de la discussion comme décrit dans le centre d'aide. – Will