MVC and Umbraco integration
Asked Answered
C

4

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.

Cough answered 28/11, 2009 at 13:48 Comment(12)
curious how you've got on, did you get this workingElane
another one who is curious - did you get this sorted?Elvyn
I think the next version of Umbraco will be using ASP.Net MVC our.umbraco.org/wiki/user-groups/australia-and-new-zealand/…Urticaria
I didn't found a solution, I simply renounced MVC.Cough
They say the next Umbraco will be MVC based. I'd wait for that.Misdemeanor
IF you are still studying Umbraco, you can try also KooBoo. KooBoo is a Asp.Net MVC based CMS. It has a lot of features, a good multisite support, and is since your creation MVC based.Panic
as far as i know mvc umbraco is still quite some way offCageling
In case you haven't already checked this link out? hanselman.com/blog/…Caruncle
N2CMS already has MVC integration: n2cms.com , and has done for quite a while. But it requires C# knowledge rather than XSL knowledgeAdhesion
Just a quick note to let anyone reading this know that the development of the mvc version of Umbraco (v5) has ended: umbraco.com/follow-us/blog-archive/2012/6/13/v5-rip.aspx It seems however that the Umbraco team intend to integrate features from v5 into the v4 product.Jacklin
Adding my little comment here one year later: Umbraco 4.10+ and especially Umbraco 6+ now support MVC.Rioux
Actually I am not sure what your question is? If you are trying to get Umbraco content in to another MVC site then the best way to go is expose it via UmbracoAPI. Umbraco has a bunch of Services that make light work of this. best of luckChaps
S
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

Springwood answered 13/4, 2017 at 14:4 Comment(0)
C
5

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

Carin answered 11/4, 2011 at 16:38 Comment(0)
A
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.

Arena answered 13/4, 2011 at 13:43 Comment(0)
F
0

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

Fiddlededee answered 22/1, 2021 at 6:31 Comment(1)
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 deletedOleary

© 2022 - 2024 — McMap. All rights reserved.