Question

J'ai suivi les étapes de http: // memoryleak.me.uk/2009/04/umbraco-and-aspnet-mvc.html et intégré MVC dans Umbraco avec succès, mais j'ai toujours un problème qui est critique pour moi.

Existe-t-il un moyen d'hériter des modèles définis par Umbraco dans une vue MVC? Si j'ai bien compris, le problème est que les modèles Umbraco deviennent HTML uniquement à l'exécution et que les propriétés du type de document, telles que @nodeName , ne sont pas reconnues et "Référence de référence null pour l'objet". exception étant levée à cause de cela.

Merci!

Était-ce utile?

La solution

Cette question est vraiment ancienne et ne concerne pas les versions actuelles d’Umbraco.

Au cas où personne ne le saurait toujours - Toutes les versions d’Umbraco depuis 2013 (6, 7 et maintenant 8) prennent en charge MVC

Autres conseils

Après avoir jeté un coup d'œil au billet de blog, il semble que celui-ci ne soit pas réellement intégré à Umbraco, mais qu'il travaille à ses côtés.

En ce sens qu’il s’agit bien de son propre HttpHandler. Cela signifie qu’il contourne Umbraco Httphandler et tout un ensemble de fonctionnalités d’Umbraco relatives aux modèles et au CMS lui-même.

Amener MVC à utiliser les modèles Umbraco n’est (probablement) pas possible sans modifications de l’application principale (version 4+). Toutefois, cela ne signifie pas que vous ne pouvez pas utiliser MVC avec Umbraco, ce dernier servant alors de référentiel de contenu pour une application MVC.

Vous pouvez facilement créer des contrôleurs MVC qui extraient des données d’Umbraco et les mettent à la disposition de vos vues. Par exemple, vous pouvez utiliser Umbraco Linq2Umbraco pour cela.

Si vous donnez plus de détails sur les erreurs précises que vous commettez et ce que vous essayez d’obtenir, la solution peut être de structurer votre application plutôt que de tenter de forcer brutalement Umbraco 4+ à faire quelque chose qui: sera natif dans Umbraco 5 (dont la sortie est prévue cette année). Le code source de 5 se trouve sur Codeplex et peut être un bon endroit pour jeter un coup d'œil sur le noyau d'Umbraco. l'équipe se rapproche de cela.

Il existe une vieille discussion à ce sujet ici: http: // forum .umbraco.org / yaf_postst5106_Using-ASPNET-MVC-with-Umbraco.aspx

et plus récemment ici: http://our.umbraco.org/forum/getting-started/installing-umbraco/2668-Use-Umbraco-with-aspnet-MVC

Pour plus d'informations, cliquez ici: http://our.umbraco.org/forum/developers/extending-umbraco/17523-Umbraco-461-and-MVC-3

et encore plus ici: http: // notre .umbraco.org / forum / développeurs / extend-umbraco / 6837-Umbraco-Website-And-MVC-Website-In-ONE

Plutôt que d'essayer d'utiliser les contrôles Umbraco, vous pouvez envisager d'écrire des Méthodes d'extension HtmlHelper qui utilisent le umbraco .NodeFactory.Node classe pour obtenir le contenu que vous essayez d'afficher dans vos vues. Les méthodes d'écriture qui imitent (ou simplifient selon vos besoins) umbraco.presentation.templateControls.Item et umbraco.presentation.templateControls.Macro peuvent vous suffire.

MODIFIER

J'ai emprunté ce chemin avec un certain succès. J’ai aussi jeté un coup d’œil à la source MVC pour savoir comment des vues partielles ont été ajoutées à la collection de contrôles de formulaires Web sous-jacents. J'ai fini par écrire une classe qui hérite de la classe umbraco.presentation.templateControls.Macro qui ressemble beaucoup à la classe System.Web.Mvc.ViewUserControl .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top