68

I've followed the steps from http://memoryleak.me.uk/2009/04/umbraco-and-aspnet-mvc.html and integrated MVC in Umbraco with success, but I still have a problem which is critical for me.

Is there any way to inherit the Umbraco defined templates in an MVC view? As I understand the problem is that the Umbraco templates become HTML only at runtime and the doctype properties, as @nodeName, are not recognized and "Object null reference" exception being thrown because of this.

12
  • curious how you've got on, did you get this working Commented Jan 14, 2010 at 13:29
  • another one who is curious - did you get this sorted? Commented Jan 16, 2010 at 15:20
  • 7
    I think the next version of Umbraco will be using ASP.Net MVC our.umbraco.org/wiki/user-groups/australia-and-new-zealand/… Commented Feb 19, 2010 at 14:39
  • 6
    They say the next Umbraco will be MVC based. I'd wait for that. Commented Dec 30, 2010 at 3:51
  • 1
    Adding my little comment here one year later: Umbraco 4.10+ and especially Umbraco 6+ now support MVC. Commented Jun 13, 2013 at 0:00

4 Answers 4

10

This question is really old and not relevant to the current versions of Umbraco.

Just in case anybody is still not aware - All versions of Umbraco since 2013 (v6) support MVC

Sign up to request clarification or add additional context in comments.

Comments

5
+50

Having had a look at the blog post it seems that this is not actually integrated with Umbraco but working alongside Umbraco.

In that it is effectively its own HttpHandler. This means it is bypassing the Umbraco Httphandler and a whole bunch of Umbraco functionality relating to templates and the CMS itself.

Getting MVC to utilise Umbraco templates is (probably) not possible without modifications to the core application (in version 4+). However that doesn't mean you can't use MVC alongside Umbraco with Umbraco acting as a content repository for a MVC application.

You could easily create MVC controllers which pulled data from Umbraco and made that available to your views. For example you could use Umbraco Linq2Umbraco for this.

If you give more details as to the precise errors you are getting and exactly what you are trying to achieve, it may be the solution is in how you structure your application rather than attempting to brute force Umbraco 4+ to do something that will be native in Umbraco 5 (which is scheduled for release some time this year). The source code for 5 is on Codeplex and may be a good place to have a look and see how the Umbraco core team are approaching this.

There is an old discussion about this here: http://forum.umbraco.org/yaf_postst5106_Using-ASPNET-MVC-with-Umbraco.aspx

and more recently here: http://our.umbraco.org/forum/getting-started/installing-umbraco/2668-Use-Umbraco-with-aspnet-MVC

Further discussion can be found here: http://our.umbraco.org/forum/developers/extending-umbraco/17523-Umbraco-461-and-MVC-3

and even more here: http://our.umbraco.org/forum/developers/extending-umbraco/6837-Umbraco-Website-And-MVC-Website-In-ONE

Comments

2

Rather than trying to use the Umbraco controls, you might consider writing some HtmlHelper extension methods that use the umbraco.NodeFactory.Node class to obtain the content you're trying to display in your views. Writing methods that mimic (or simplify based on your needs) umbraco.presentation.templateControls.Item and umbraco.presentation.templateControls.Macro may be enough for you.

EDIT

I went down this path with some success. I also took a look at the MVC source to find out how partial views were being added to the underlying web forms controls collection. I ended up writing a class that inherits from the umbraco.presentation.templateControls.Macro class that looks a lot like the System.Web.Mvc.ViewUserControl class.

Comments

0

Umbraco is moving to donet core now https://umbraco.com/blog/net-core-alpha-release/

1 Comment

Links to external resources are encouraged, but please add context around the link so your fellow users will have some idea what it is and why it’s there. Always quote the most relevant part of an important link, in case the target site is unreachable or goes permanently offline. Answers that are little more than a link may be deleted

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.