Quand utiliser ASP.NET MVC vs ASP.NET Formulaires Web?
L'une des questions les plus souvent posées concernant ASP.NET MVC est pourquoi devriez-vous utiliser plus de ASP.NET Formulaires Web? La réponse comprend généralement ViewState et URLs propres, entre autres. Vers la fin, vous trouverez un texte de présentation sur l'utilisation du bon outil pour le travail et qu'ils servent à des fins différentes. Cependant, je ne crois pas que j'ai jamais vu ce que ces fins sont. Donc, quand vous avez réellement choisir ASP.NET MVC plus ASP.NET des Formulaires Web, ou ASP.NET Formulaires Web sur ASP.NET MVC?
- C'est un doublon de stackoverflow.com/questions/41712/traditional-asp-net-vs-mvc et beaucoup, beaucoup plus. J'ai juste cherché stackoverflow.com/search?q=When+ASP.NET+MVC+ASP.NET+Web+Forms et il l'a trouvé.
- Et si la prophétie auto-réalisatrice est complet! Cette question apparaît maintenant en haut de votre recherche @JohnSaunders 🙂
Vous devez vous connecter pour publier un commentaire.
Vous ne choisissez pas ASP.Net MVC plus ASP.Net parce que ASP.Net MVC est toujours ASP.Net. Vous choisissez ASP.Net MVC ou ASP.Net des Formulaires Web, et il ya beaucoup de bonnes raisons pour le faire:
D'autre part, des Formulaires Web ont quelques points en leur faveur:
Le résultat est que si vous êtes en train de construire des applications d'entreprise dans un réseau local de l'entreprise environnement (qui honnêtement est encore la plupart des développeurs web), des Formulaires Web est vraiment génial. En ce sens, Microsoft sait vraiment leur marché. Mais si vous êtes à la création d'une application pour l'internet public, vous pouvez MVC de sorte que vous pouvez tester à fond et assurez-vous que vos pages ne sont pas gonflés inutiles ViewState ou JavaScript de données.
En outre, quelque chose qui a changé au cours des dernières années est que même beaucoup de l'intranet de l'entreprise applications maintenant besoin de soutien à domicile/à distance à utiliser, rendant MVC plus attrayant à la foule qu'elle ne l'avait été.
Utiliser MVC si tous les membres de votre équipe sont suffisamment qualifiés pour gérer "le contrôle HTML", sinon votre code va se transformer en une la soupe de tags.
En d'autres termes
http://weblogs.asp.net/shijuvarghese/archive/2008/07/09/asp-net-mvc-vs-asp-net-web-form.aspx
vérifier que blog !
La ligne de fond de "la séparation des préoccupations"
Je vais vous donner quelques fins, avec des avantages évidents.
Si votre but est un site web grand public qui sera mise sur le trafic, l'utilisation de MVC. Il est optimal pour l'optimisation des moteurs de recherche.
Si votre but est une entreprise web-application qui agit comme une application de bureau, je pencherais vers des formulaires web, depuis la gestion de l'état et la compartimentation de vos ressources sous-jacentes des contrôles serveur offre d'énormes avantages si elle est utilisée correctement.
Les problèmes les plus importants auxquels font face les développeurs est la gestion de la complexité et de garder le code "propre". MVC permet au développeur de les rênes de l'effet de levier de la programmation orientée objet pour ranger loin de la complexité et dont le code est facile sur les yeux.
Webforms sera plus rapide à se développer dans le court terme, mais il ne se prête pas à la viabilité à long terme en termes de maintenance et de croissance.
J'ai travaillé avec des formulaires Web pour 13 ans et MVC depuis 2 ans maintenant et quand j'ai commencé avec MVC, j'ai eu des questions similaires. Voici mon résumé.
Qui dit:
MVC, je suis la recherche, une fois que vous obtenez le coup de lui, est beaucoup plus facile de traiter avec des formes de base et de toute sorte de simple "Modèle", alias de tables avec une très, simple et directe, d'un ensemble de relations tels que les commandes qui ont des tables de lien vers les utilisateurs, les produits, etc. Une fois que vous commencez à recevoir dans plus de relations compliquées et besoin de retourner beaucoup de conditionnel ensembles de résultats, s'appuient sur des paramètres, ont compliqué les procédures stockées... alors Formulaires Web est beaucoup mieux pour régler ce problème. Si vous n'avez pas à traiter avec ce niveau de complication, MVC rend le développement plus rapide, en particulier, de traiter avec une approche où vous disposez déjà de la DB car il crée donc beaucoup de code et de validation pour vous déjà
Si vous n'êtes pas très expérimenté avec la conception de base de données, MVC fait le travail pour vous. Il peut littéralement construire la base de données pour vous.
MVC n'ont pas beaucoup de la construite dans les contrôles de Formulaires Web n' (Gridviews, FormViews, les Sitemaps, Paginé de listes). Tout doit être écrit à partir de zéro, mais heureusement, beaucoup de gens ont déjà inventé ce genre de choses pour vous dans NuGet lequel il vous suffit de les télécharger dans votre projet
MVC s'appuie fortement sur la structure de vos URL. Le chemin, la chaîne de requête, etc. Si vous trouvez votre demande avoir besoin de faire beaucoup de la forme de Poster au lieu de SE faire, vous allez avoir à faire beaucoup de peaufinage ou AJAX affichage. Si vous avez un ensemble d'URL qui ne peut pas changer, il peut être une douleur. C'est faisable, mais juste un peu plus difficile (ou vous pouvez simplement utiliser Angulaire à la place).
MVC n'a pas d'état d'affichage. Si vous avez besoin de masquer des variables à partir d'un poste à un autre et de les conserver, c'est un peu difficile. MVC N'a des choses comme ViewBag qui vous permet de passer des données à partir de votre contrôleur sur votre page, mais il efface après la page est affichée. Il y a aussi quelque chose appelé "Tempdata" qui agit comme l'état de la Session, mais de plus en plus temporaires. Toutefois, il s'appuie sur l'État de Session qui n'est pas une façon idéale de la persistance des données. Les variables de Session et tempdata variables sont bien pour le niveau de l'utilisateur des données (les informations de profil de la personne connecté), mais en avoir deux différents onglets ouverts par le même utilisateur peut causer ces session/tempdata variables pour écraser les uns les autres lorsque vous avez affaire avec le modèle de données.
Si vous êtes à un carrefour, j'irais avec MVC. MS est en le poussant et le soutien pour les Formulaires Web sera probablement commencer à s'en aller