Je pense essayer MVC plus tard aujourd'hui pour une nouvelle application que nous démarrons, mais je suis curieux de savoir si c'est une chose tout ou rien ou si je peux encore faire la fête comme c'est 2006 avec viewstate et autres béquilles au En même temps ...Les pages ASP.NET "classiques" et Microsoft MVC peuvent-elles coexister dans la même application Web?
Répondre
Oui, vous pouvez faire en sorte que vos pages Webforms et les vues MVC soient mélangées dans un même projet d'application Web. Cela peut être utile si vous avez une application déjà créée et que vous voulez migrer votre application de webforms vers mvc.
Vous devez vous assurer qu'aucune de vos pages Webform ne se trouve dans le répertoire "Views" d'une application ASP.NET MVC standard. Pages (ou vues) dans le répertoire «Vues» ne peuvent pas être demandées directement via l'URL.
Si vous démarrez une application à partir de zéro, il y aurait très peu d'avantages à mélanger les deux.
Oui. MVC est juste une implémentation différente de l'interface IHttpHandler pour que les pages classiques ASP.NET et ASP.NET MVC puissent coexister dans la même application.
Si vous mélangez MVC avec d'autres méthodes, vous n'en retirerez pas vraiment les avantages. Le but de MVC est de vous permettre de diminuer le couplage et d'augmenter la cohésion, et si seulement la moitié de votre code le fait, alors l'autre moitié va inévitablement restreindre votre cycle de développement. Donc, je suppose que même si c'est possible, je ne pense pas que cela en vaille la peine. Aller jusqu'au bout ou ne pas aller du tout.
Vous devez vous assurer que vos routes MVC ne sont pas en conflit avec vos pages Web Forms afin que les demandes pour une page .aspx ne sont pas acheminés à une action de commande comme paramètre etc.
Voir this blog post par Phil Haack pour plus de détails sur la façon d'éviter cela.
lien cassé. S'il-vous-plaît, réparez. –
Comme vous avez probablement remarqué avec les réponses ci-dessus, oui c'est très possible de le faire. En fait, j'ai dû le faire sur mon projet actuel. J'ai pu obtenir l'approbation pour ajouter MVC à notre application, mais seulement dans la section administration (pour limiter le risque d'affecter les membres actuels venant sur notre site). Le plus gros problème que j'ai eu était de convertir mon site Web en une application Web, mais une fois que cela a été fait, les choses étaient assez simples en ajoutant MVC côte à côte à nos pages Web classiques derrière le code. L'astuce pour moi était de rendre mes pages MVC aussi similaires que possible à mes pages code-behind afin que la transition semble aussi transparente que possible.
Je travaille actuellement sur un nouveau projet. Bien que je veuille aller jusqu'au bout de la route MVC, certaines des exigences du projet ne me le permettent pas.
Une de ces exigences est d'avoir une grille de regroupement du côté client. Personnellement, vous avez choisi le Telerik Rad-Grid. Alors qu'ils peuvent être en train de soutenir MVC, ils ne sont pas encore là. Donc, cela signifie que je dois avoir une solution hybride. pour l'instant jusqu'à ce que RadGrid supporte pleinement MVC.
Alors que nous sommes dans cette période de transition, je pense qu'il y aura plus de projets hybrides jusqu'à ce que le support des Contrôles Tiers rattrape.
Cordialement
Nathan
Oui, il est très possible pour les pages MVC de coexister avec des formulaires web asp.net. J'ai implémenté cela dans mon application asp.net existante pour ajouter de nouvelles fonctionnalités. Nous devons nous assurer de référencer les DLL MVC, d'enregistrer les tables de routage pour le routage URL et de configurer les assemblys et les espaces de noms dans le fichier Web.config.
- 1. Erreur intermittente "Division par zéro" dans les pages ASP classiques
- 2. Asp.net MVC et les pages html normales
- 3. Azure et Microsoft ASP.NET MVC
- 4. Application Web ASP.NET MVC vs Application Web ASP.NET
- 5. Comment faire pour configurer les routes MVC pour gérer les anciennes pages ASP classiques redirections
- 6. Extensions de script Microsoft Ajax - même dans ASP.NET AJAX et ASP.NET MVC?
- 7. jQuery dans une application ASP.net MVC avec Maître Pages
- 8. Création de pages maîtres imbriquées dans une application Web ASP.NET
- 9. Exécution dynamique de pages ASP classiques
- 10. Nouveauté Microsoft Chart et ASP.NET MVC
- 11. Pages maîtres ASP.NET MVC
- 12. Intégration des formulaires Web asp.net et mvc
- 13. Temps de construction de pages dans ASP.NET MVC et WebForms
- 14. Est-ce que deux versions de la même bibliothèque peuvent coexister dans la même installation Python?
- 15. Graphiques dans les pages Web
- 16. ASP.NET MVC - Option "Convertir en application Web" manquante
- 17. ASP.NET et les pages dynamiques
- 18. Toutes les pages d'une application ASP.Net sont-elles exécutées dans le même domaine d'application?
- 19. VS2008 ASP.NET Site Web et application Web
- 20. Dois-je créer ma prochaine application Web dans ASP.NET MVC?
- 21. Plusieurs pages maîtres dans une seule application
- 22. Peut MVC (ou MVP) coexister avec SOA?
- 23. Comment concaténer des pages Web dans ASP.NET
- 24. Comment implémenter des pages Web configurables par l'utilisateur dans une application Web ASP.Net/AJAX
- 25. Application hybride MVC et site Web
- 26. Est-ce que plusieurs versions d'une même DLL (Boost) peuvent coexister dans le même processus?
- 27. Application helper dans ASP.NET MVC
- 28. MVC avec Microsoft et Oracle
- 29. asp.net mvc et fckeditor
- 30. ASP.NET MVC site Web où les utilisateurs peuvent ajouter/supprimer des pages
Cependant, il s'agit certainement d'utiliser le meilleur outil pour la tâche? Certaines parties du projet peuvent être mieux adaptées à MVC et certaines à WebForms ... – Rob
Si vous pouvez découpler proprement les pièces MVC des pièces non-MVC, alors oui, vous pouvez l'essayer. Mais s'ils traitent tous les deux des mêmes structures de données ou présentent des parties de la même interface utilisateur, alors personnellement, je déconseille de le faire. –