Watch video

Umbraco is a very flexible CMS and you can customize it to suit your specific needs.
Of course to customize you will need to do a bit of development and to familiarize yourself with the ASP.NET framework as well as other Microsoft technologies

Core technologies

Umbraco CMS is build using C# and the Microsoft-based infrastructure ASP.NET.


One of the core concepts that you need to know about and understand when building custom sites with Umbraco is MVC.

This chapter, you’ve just started watching, is called Surface Controllers. The “Controllers” part is actually what the 'C' stands for in 'MVC'.

The others are Models and Views.

Now, the whole idea with MVC is, that the controller handles a request by working with the model to perform actions or retrieve data.

The controller will also pick which View to use and tell it which Model it should use for presenting data in the view.

This all results in a web page rendered by the View - and this page is based on the data in the model.

  • The Model handles the data
  • The View handles how the data is shown
  • The Controller controls the requests and makes sure the correct data is served by the correct view

Check out the resources below to learn more about MVC and MVC in Umbraco.



Agenda of this video series

  • Introducing Surface Controllers
  • Creating the Model
  • Setting up the View
  • Building the Surface Controller
  • Creating Content
  • Creating Media
  • Going further…


  • Visual Studio (latest)
  • A Umbraco project

If you want to follow along with the exact steps throughout this video chapter, download the template site:

Surface Controllers - Premade Project

Login details

Password: 1234567890

Surface Controllers

Total Time: 01:18:05

In the Surface Controllers chapter, you will learn more about some of the key functionality in Umbraco and how you can use MVC to programmatically add content and media to your Umbraco website.