Je préférerais faire du MVC alors que le développement régulier WebForms mange mon âme. p>
Cependant, j'ai reçu un projet WebForme assez important pour ajouter un tas de fonctionnalités. p>
existe-t-il de toute façon pour Webforms et ASP.NET MVC à coexister en un seul projet ou même à gérer conjointement le site Web? Je sais que je demande un hack. P>
6 Réponses :
Je ne l'ai pas fait - mais cela semble être possible selon ce poste de blog de Tchad MyER. C'est un peu vieux. http://www.chadmyers.com/blog/archive/2007/11/30/asp.net-webforms-and-mvc-in-the-same-project.aspx P>
Oui, il a plus de 2 ans et fait avec un aperçu. Si quelqu'un pouvait confirmer si cela fonctionne avec 1,0 bits, ce serait génial.
Si vous avez de la place pour un autre livre, je recommande vivement le livre de Steve Sanderson http://bit.ly/1w03tv (Je ne suis pas une taupe ... ça m'a juste aidé une tonne). Il a un chapitre à propos de «combiner MVC et WebForms». p>
J'ai pensé à résumer le processus ici, mais c'est un peu long. Donnez-vous un look si vous avez une chance. P>
Voici ... P>
C'est une explication très approximative, mais vous avez demandé les notes de falaise. La morale de l'histoire est de suivre un nouveau projet MVC / vierge et d'ajouter les entrées nécessaires dans web.config, référencez les assemblages nécessaires et créez la structure de fichier correcte pour le motif MVC. P>
Une autre chose est nécessaire pour le faire fonctionner. Voir la réponse acceptée à cette question: Stackoverflow.com/questions/1727309/...
Maintenant, en 2011, nous avons .NET 4.0 et est assez facile à les combiner. Il suffit de commencer un nouveau projet MVC3, ajoutez un homécontrôleur et une vue (ie Accueil / index.cshtml), puis ajoutez un nouveau dossier, disons / admin, puis ajoutez un formulaire Web à l'intérieur comme /admin/default.aspx ... C'est là, exécutez-le, la page d'accueil utilisera MVC, la section admin utilisera des formulaires Web. P>
J'ai essayé de créer un projet Clean MVC 3 .NET 4.0 et ajouté un dossier "FOO" et une page par défaut.aspx pour cela. J'ai couru en mode de débogage, puis navigué sur / foo et /foo/default.aspx et reçu "la ressource introuvable". Que manque-t-il d'autre?
Avez-vous un contrôleur et leur point de vue connexe pour le projet principal MVC? Le dossier FOO doit avoir uniquement les fichiers .aspx (et .aspx.cs), et ceux-ci doivent avoir été créés à partir d'un élément "Nouveau formulaire Web".
Aussi - Afin d'ajouter les menus contextuels, ajoutez le type de projet "MVC" ({E53F8FEA-eAE0-44A6-8774-FFD645390401}) au fichier de projet en tant que tel
<ProjectTypeGuids>{E53F8FEA-EAE0-44A6-8774-FFD645390401};{...};{...}</ProjectTypeGuids>
C'est ce que j'ai fait pour ajouter mvc5 strong> à un projet de formulaire Web existant Créer un nouveau projet ASP.NET MVC. Vous pouvez l'utiliser pour copier des informations sur votre projet existant. P> li>
Dans votre projet existant, utilisez Nuget Strong> pour ajouter les références. Cela mettra également à jour votre web.config em> et ajoutera les fichiers jQuery em>. Copiez ceci dans votre Console em> p> li>
ol> Copier Bundleconfig em>, routeconfig em>, filtreconfig em> et de tout autre que vous devez Ajoutez les lignes d'enregistrement à partir de ajoutez ces touches au Ajoutez une référence à la Microsoft.cshaarp em> Assembly P> Li>
Ajoutez les vues em> et contrôleurs em> dossier p> li>
Vous pouvez maintenant commencer à ajouter des vues et des contrôleurs comme vous le feriez dans n'importe quel projet MVC P> LI>
ol> p>
Application_Start CODE> à
<add key="webpages:Version" value="3.0.0.0" />
<add key="webpages:Enabled" value="false" />
<add key="PreserveLoginUrl" value="true" />
<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />