Pregunta

He seguido los pasos de http: // memoryleak.me.uk/2009/04/umbraco-and-aspnet-mvc.html e MVC integrado en Umbraco con éxito, pero todavía tengo un problema que es crítico para mí.

¿Hay alguna forma de heredar las plantillas definidas de Umbraco en una vista MVC? Según tengo entendido, el problema es que las plantillas de Umbraco se convierten en HTML solo en tiempo de ejecución y las propiedades doctype, como @nodeName , no se reconocen y '' Referencia nula de objeto '' excepción lanzada debido a esto.

¡Gracias!

¿Fue útil?

Solución

Esta pregunta es muy antigua y no es relevante para las versiones actuales de Umbraco.

En caso de que alguien aún no lo sepa, todas las versiones de Umbraco desde 2013 (6, 7 y ahora 8) admiten MVC

Otros consejos

Después de echar un vistazo a la publicación del blog, parece que esto no está realmente integrado con Umbraco sino que funciona junto con Umbraco.

En eso es efectivamente su propio HttpHandler. Esto significa que está pasando por alto el Umbraco Httphandler y un montón de funcionalidades de Umbraco relacionadas con las plantillas y el propio CMS.

Lograr que MVC utilice plantillas de Umbraco (probablemente) no es posible sin modificaciones en la aplicación principal (en la versión 4+). Sin embargo, eso no significa que no pueda usar MVC junto con Umbraco con Umbraco actuando como un depósito de contenido para una aplicación MVC.

Podría crear fácilmente controladores MVC que extrajeron datos de Umbraco y los pusieron a disposición de sus vistas. Por ejemplo, podría usar Umbraco Linq2Umbraco para esto.

Si proporciona más detalles sobre los errores precisos que está obteniendo y exactamente lo que está tratando de lograr, puede ser la solución en cómo estructura su aplicación en lugar de intentar forzar a Umbraco 4+ a hacer algo que será nativo en Umbraco 5 (cuyo lanzamiento está programado para este año). El código fuente para 5 está en Codeplex y puede ser un buen lugar para echar un vistazo y ver cómo funciona el núcleo de Umbraco equipo se acerca a esto.

Hay una vieja discusión sobre esto aquí: http: // forum .umbraco.org / yaf_postst5106_Using-ASPNET-MVC-with-Umbraco.aspx

y más recientemente aquí: http://our.umbraco.org/forum/getting-started/installing-umbraco/2668-Use-Umbraco-with-aspnet-MVC

Puede encontrar más discusión aquí: http://our.umbraco.org/forum/developers/extending-umbraco/17523-Umbraco-461-and-MVC-3

y aún más aquí: http: // our .umbraco.org / forum / developers / extender-umbraco / 6837-Umbraco-Website-And-MVC-Website-In-ONE

En lugar de intentar usar los controles de Umbraco, podría considerar escribir algunos Métodos de extensión HtmlHelper que usan el umbraco .NodeFactory.Node para obtener el contenido que intenta mostrar en sus vistas. Escribir métodos que imiten (o simplifiquen según sus necesidades) umbraco.presentation.templateControls.Item y umbraco.presentation.templateControls.Macro puede ser suficiente para usted.

EDIT

Seguí este camino con algo de éxito. También eché un vistazo a la fuente de MVC para descubrir cómo se agregaron vistas parciales a la colección de controles de formularios web subyacentes. Terminé escribiendo una clase que hereda de la clase umbraco.presentation.templateControls.Macro que se parece mucho a la clase System.Web.Mvc.ViewUserControl .

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top