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

Are you struggling to find a catchy name for your agile team? Use this fun, mostly silly, generator [...]

- mike@mountaingoatsoftware.com

Telling a stakeholder you can’t work on their feature is difficult. Here are ways to make that conve [...]

- mike@mountaingoatsoftware.com

There are things leaders can do that will influence how a team self organizes. [...]

- mike@mountaingoatsoftware.com

Want to become an even better Scrum Master? Follow these 10 easy-to-remember practices. [...]

- mike@mountaingoatsoftware.com

Product owners often sacrifice progress toward important goals to put out short-term fires. There’s [...]

- Scott Hanselman

I'm continuing to explore testing and code coverage on open source .NET Core. Earlier this week [...]

- Scott Hanselman

Last week I blogged about "dotnet outdated," an essential .NET Core "global tool [...]

- Scott Hanselman

The standard for browsing the web over a text-=based terminal is Lynx, right? It's the legendar [...]

- Scott Hanselman

Last week I looked at "dotnet outdated," a super useful .NET Core Global Tool for keeping [...]

- Scott Hanselman

I've moved my podcast site over to ASP.NET Core 2.1 over the last few months. You might want to [...]

Meta