MVC和Umbraco整合

我遵循http://memoryleak.me.uk/2009/04/umbraco-and-aspnet-mvc.html中的步骤以及在Umbraco中整合的MVC,但是我仍然有一个对我来说很重要的问题。

有没有办法在MVC视图中inheritanceUmbraco定义的模板? 据我所知问题是,Umbraco模板只能在运行时变成HTML,doctype属性( @nodeName )不能识别,因此引发“Object null reference”exception。

谢谢!

这个问题真的很老,与当前版本的Umbraco无关。

万一有人还不知道 – Umbraco 6和7现在支持MVC。

看过这篇博客文章,似乎并没有真正与Umbraco整合,而是与Umbraco一起工作。

在那里它是有效的自己的HttpHandler。 这意味着它绕过了Umbraco Httphandler和一大堆与模板和CMS本身相关的Umbracofunction。

如果不修改核心应用程序(在版本4+中),使用Umbraco模板的MVC(可能)是不可能的。 但是,这并不意味着你不能使用MVC和Umbraco一起作为MVC应用程序的内容存储库。

您可以轻松地创buildMVC控制器,从Umbraco中提取数据,并将其提供给您的观点。 例如,你可以使用Umbraco Linq2Umbraco。

如果你提供更多的细节,你正在得到的确切的错误,正是你想要实现的,这可能是解决scheme是在你如何构build你的应用程序,而不是试图蛮力Umbraco 4+做一些将是本地在Umbraco 5(预定今年发布一段时间)。 5的源代码是在Codeplex上 ,可能是一个很好的地方看看Umbraco核心团队如何接近这一点。

这里有一个老的讨论: http : //forum.umbraco.org/yaf_postst5106_Using-ASPNET-MVC-with-Umbraco.aspx

最近在这里: http : //our.umbraco.org/forum/getting-started/installing-umbraco/2668-Use-Umbraco-with-aspnet-MVC

进一步的讨论可以在这里find: http : //our.umbraco.org/forum/developers/extending-umbraco/17523-Umbraco-461-and-MVC-3

甚至更多: http : //our.umbraco.org/forum/developers/extending-umbraco/6837-Umbraco-Website-And-MVC-Website-In-ONE

您可能会考虑编写一些使用umbraco.NodeFactory.Node类的HtmlHelper扩展方法来获取您试图在视图中显示的内容,而不是尝试使用Umbraco控件。 编写模仿(或根据您的需要简化)的方法umbraco.presentation.templateControls.Itemumbraco.presentation.templateControls.Macro可能已经足够。

编辑

我走了这条路,取得了一些成功。 我还看了一下MVC源代码,以了解如何将部分视图添加到基础Web表单控件集合中。 我最终编写了一个inheritance自umbraco.presentation.templateControls.Macro类的类,它类似于System.Web.Mvc.ViewUserControl类。