Additional Pages in an Umbraco 7 MVC Website

Home » Configuration » Server Side Programming » Web Development » Additional Pages in an Umbraco 7 MVC Website
Umbraco Logo

Umbraco 7 has messed around with, and closed down much of the MVC routing engine, to such a point that one cannot really be sure what standard MVC techniques still work.

I have quickly come to the conclusion that while Umbraco makes very good CMS only sites this is a difficult area for a developer wishing to extend the site, say by putting additional pages in. All pages should be CMS pages and the components that the developer develops should be view based within them, or using the so called “Surface Controllers”.

Is this a problem? I’m not sure right now for myself, and for the reader, it depends on your requirements. There may be times when you legitimately want to add some functionality outside of a CMS page. Your choices are very restricted as related – even examples that should work such as using Plugin Controllers, I can’t get to work – at best the website just hangs. Possibly because its passing some data around between pages and I’m not getting my routing code correct yet – I’ll update this post if I find out the answer.

So if you want to mix CMS and your own pages, you must start with Umbraco pages and write your pages into the content, or choose another CMS.

If you want additional pages in your site, then your choice is between making Umbraco pages and “programming” these, or putting your additional pages into a pure MVC project based sub-domain.

Redirecting the odd .aspx page

I have a small website that I wanted to perform some simple 301 redirects as it was replacing a webforms website.

There are better ways of doing this (URL rewriting in the config file, or writing an handler for example), but what I ended up doing was creating a number of ASP.NET webpages of the same names as the old pages in the site, and having a Response.RedirectPermanent(“url”) in the Page_Load of the code behind.

I also needed to alter the following Umbraco web.config AppSetting to get this to work:

About Phil

I have been working as a software developer since 1983. This blog could have been called "From Fortran 77, C and Cobol to C# in 20 (not so) easy years", but it doesn't sound quite right somehow. Besides I'm talking about what's happened since 2003, not before!

Leave a Reply

Your email address will not be published.


You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">




Top Posts & Pages

Categories

Recent Posts

Recent Comments

Archives

Blogroll

  • Mike Cohn's Blog
  • Scott Hanselman's Blog
- mike@mountaingoatsoftware.com

Traditionally managed projects begin with a kickoff meeting. Here’s why and how agile projects can d [...]

- mike@mountaingoatsoftware.com

Scrum teams know they need to be potentially releasable at the end of the sprint. But do they know e [...]

- mike@mountaingoatsoftware.com

It’s important for most agile teams to estimate both their product and sprint backlogs. But why? [...]

- mike@mountaingoatsoftware.com

This new video series is the perfect primer for Scrum. It’s great prep for the Certified Scrum Maste [...]

- mike@mountaingoatsoftware.com

An agile product backlog should evolve over time, with product backlog items and user stories rising [...]

- Scott Hanselman

You likely know that open source .NET Core is cross platform and it's super easy to do "He [...]

- Scott Hanselman

I run Windows as my daily driver but I use WSL (Windows Subsystem for Linux) all day long but WSL is [...]

- Scott Hanselman

When building my Ultimate Developer PC I picked this motherboard, and it's lovely. ASUS ROG STR [...]

- Scott Hanselman

I'm sure I'll miss some, so if I do, please sound off in the comments and I'll update [...]

- Scott Hanselman

According to https://github.com/dotnet/sourcelink, SourceLink "enables a great source debugging [...]

Meta