Je développe une nouvelle zone d'une application Web assez volumineuse en utilisant MVC3 et Razor, où le reste de l'application est basé sur ASP.NET 4 Web Forms. Puis-je inclure mes composants MVC dans cette application et que dois-je faire pour y parvenir?Inclure les vues MVC 3 dans une application Web Forms
Répondre
http://www.packtpub.com/article/mixing-asp.net-webforms-and-asp.net-mvc
Cela devrait vous mettre sur la bonne voie. Si c'était moi personnellement cependant, je voudrais ajouter un nouveau projet à votre solution qui est MVC, vous pouvez alors simplement configurer un répertoire virtuel dans IIS/MVCApp
Notre expérience a été que WebForms et MVC fonctionnent bien côte à côte -side dans la même application, mais pas mélangé. En d'autres termes, chaque page peut être WebForms ou MVC, mais elle ne peut pas inclure très facilement les deux. Les deux principales solutions de contournement que j'ai trouvées sont:
- Faites que tous vos éléments MVC soient fortement AJAXified, afin qu'ils puissent être chargés dynamiquement via AJAX après le chargement de la page.
- Disposez de deux versions de vos pages maîtres et de toute autre chose «commune» à votre application Web pour que les portions MVC de votre application aient le même aspect et les mêmes sensations que les portions WebForms.
Nous utilisons cette dernière approche.
Je pense que je vais aussi utiliser l'approche de deux fichiers maîtres. J'avais peur d'avoir à utiliser un IFrame sur ma page maître aspx pour héberger mes «pages de contenu» mvc. – ProfK
@ProfK: Oui, nous utilisons une solution iframe pour intégrer notre application dans une autre application écrite en Java, et il y a beaucoup plus de points douloureux à cette approche. – StriplingWarrior
J'utilise une classe comme celle-ci pour intégrer une vue MVC dans la page webforms. Va essayer de le faire dans un sens inverse
public class HelperFactory
{
private class FakeController : Controller
{
}
private class FakeView : IView
{
public void Render(ViewContext viewContext, TextWriter writer)
{
throw new NotImplementedException();
}
}
public static HtmlHelper<TModel> GetHelper<TModel>()
{
//HttpContextBase context = new HttpContext(HttpContext.Current);
FakeController controllerBase = new FakeController();
RouteData rd = new RouteData();
rd.Values.Add("controller", "Fake");
RequestContext requestContext = new RequestContext(new HttpContextWrapper(HttpContext.Current), rd);
ControllerContext fakeContext = new ControllerContext(requestContext, controllerBase);
ViewDataDictionary vdd = new ViewDataDictionary();
ViewContext viewCtx = new ViewContext(fakeContext, new FakeView(), vdd, new TempDataDictionary(), requestContext.HttpContext.Response.Output);
return new HtmlHelper<TModel>(viewCtx, new ViewPage());
}
}
- 1. Vues MVC 3 non déployées
- 2. Comment organisez-vous les vues/contrôleurs dans une application Web NON MVC?
- 3. Inconvénients de l'ASP.net Web Forms Viewcase MVC?
- 4. MVC - Conditions dans les vues
- 5. Puis-je inclure des pages asp.net normales (webforms ou mvc) dans une application Web Dynamic Data?
- 6. Composant de fonctionnalités complexes dans une application Web MVC
- 7. Utilisez ASP.NET Web Forms UserControl dans ASP.NET MVC?
- 8. Mise à niveau de MVC 2 à MVC 3 problèmes avec les vues
- 9. Concaténer 3 vues dans une page
- 10. Les applications Web mvc doivent-elles être à 3 niveaux?
- 11. Intégrer une application Silverlight dans une application Windows Forms
- 12. Types anonymes LINQ + vues MVC
- 13. Puis-je inclure une vue dans Kohana 3 qui n'est pas dans `application/views`?
- 14. Autorisations dans les vues dans ASP MVC
- 15. Refactoring Application Windows Forms
- 16. Quand utiliser MVP dans une application Windows Forms .net?
- 17. ASP.NET MVC Beta - Grouper les contrôleurs et les vues possibles?
- 18. MVC validation ne fonctionne pas dans Web Forms Projet
- 19. inclure des vues vs rendre des modèles dans les grails
- 20. ASP.Net MVC - Objets Null dans les vues
- 21. Vérification Null excessive dans les vues MVC
- 22. Comment inclure la publicité dans une application?
- 23. Inclure plusieurs modules dans une seule application
- 24. des espaces dans les vues asp.net mvc
- 25. Données partagées dans les vues ASP.NET MVC
- 26. Inclure les classes personnalisées dans Kohana 3 Guide de l'utilisateur
- 27. Affichage des pages HTML dans une application Web ASP.Net MVC
- 28. Comment externaliser la conception web sur une application Mvc Asp.Net
- 29. Intégration d'un CMS dans une application Web MVC
- 30. Comment désactiver les vues dans une application Cocoa?
Comment voulez-vous configurer la racine du nouveau projet uniquement (par exemple/mvc) s'il a été ajouté à la solution? Pensez que ce serait une information utile. Andi G :) +1 – Andrew
Assurez-vous de prendre en compte l'URL du répertoire virtuel (par exemple '/ mvc') lorsque vous planifiez vos itinéraires, car ceux-ci sont résolus par rapport à l'application, et non au répertoire virtuel. –