4.39 out of 5
1556 reviews on Udemy

Complete ASP NET MVC Web Development – Newbie to Ninja!

Quickly Learn Web Development with ASP NET MVC and C#. From absolute basics to ninja! Learn C# and MVC like a Pro
Complete Coder
10,084 students enrolled
English [Auto-generated] More
Learn Object Orientated Programming
Learn What MVC is and how to use it
Learn the patterns and techniques of experienced enterprise developers
Learn the patterns the tops paid developers use
Create cleaner code that is easier to manage and re-use
Write code with Less bugs - meaning you work faster and build a BETTER reputation
Build Code EASIER, by splitting it up in to manageable chunks
Make Code more FLEXIBLE, using abstraction and interfaces
Easily Re-Use existing code in multiple projects

Do you dream of becoming a professional web developer? Well this is the resource for you! Learn how to program and build robust Websites using the latest technologies with this easy-to-follow, comprehensive course. 

I’ll teach you step by step from the absolute basics to the more advanced patterns used by seasoned professionals. You will become an expert ASP NET MVC C# Web Developer, take your career to the next level and learn how the top developers can demand bigger salaries

Freelance & contract developers can make upwards of $500 a day, and the demand is increasing each year. Completing this course will open your eyes to a new world of potential earnings. 

Whether you are completely new to software development, or have already learnt the basics, my course will walk you through everything you need to know to become world class.

Here’s what some students have been saying:

‘A very good course on MVC, after taking some MVC courses here in Udemy, I subscribed this one, helps me to gain more clarity inside the MVC process’ 

‘I now see what I’ve been missing! This is certainly one of the best courses I’ve watched/read about ASP NET!’ 

‘I’ve run through a through a few tutorials and blog posts whilst learning MVC, and I never knew about the ideas discussed in this course, or thought they were beyond be ay my beginner level.’ 

Do you want to learn how professional developers build best in class websites using ASP NET MVC?

Senior developers can earn in excess of $100k a year– one of the key differences they demonstrate is the ability to quickly write extensible code and get involved in the architecture process. This course will teach you how enterprise class developers create ‘Best in Class’ software, and how these principals will help you create software easier, faster and be less prone to bugs. 

I will teach you the basics of software development, move onto Object Orientated Programming (OOP) and introduce the 7 SOLID Principles and modern day patterns that adhere to them such as Dependency Injection, MVC, Abstraction and Inheritance. 

Through this course you will implement:

  • An ASP NET MVC e-commerce site.

  • Object Orientated Programming (OOP)

  • Layered Architecture

  • Repository Pattern

  • Entity Framework

  • Generics

  • Dependency Injection

  • Modulular Development

  • Unit Testing

  • Partial Views

  • And more!

And of course, being part of Udemy you get: 

  • FREE lifetime access to this course

  • ALL future lectures and upgrades (of which there will be many!) included for free

  • Udemy’s Unconditional 30 day money back guarantee – so there’s NO risk


Welcome and overview

An introduction to the course and what we will be learning.

Get the software

How to get and install Visual Studio. Kind of important. :-)

Installing SQL

How to Install SQL Express & the Management Tools 

C# Primer


A brief introduction about this section of the course - C# Basics - and what we will be covering.

Obligatory Hello World Project

All C# and Web Development projects must start with a 'Hello World' project. It's an unwritten law of the Universe. So let's get started and see just how easy it is to create a fully functional C# Program!

Structure of a C# Project

So we have our very first C# program - but what are all those files about? In this lecture we'll examine the anatomy of a C# program and look what happens when it get's 'compiled'.

Variable Types
User Defined Types

How do we create 'objects' of our own devising? What happens when the built in C# 'types' just don't cut the mustard? In this lecture we examine how we can create classes and structs to build our programs.

Values Versus Reference Types
Arrays And Collections

How do you store lists of information in a C# Program? This lecture explores the options for storing, sorting and searching lists of information.

Program Flow Introduction

All programs need to respond to information and execute code depending on user choices and actions. In this lecture we introduce at a high level the options available for controlling the flow of your program, before going into more details in the following lectures.

Program Flow - IfThenElse
Program Flow - Getting Loopy
Program Flow - Switch

All software has a hiccup sometimes. In this lecture we look at the basics of debugging your C# application.

Object Orientated Programming (OOP)

Object Orientated Programming Overview

Object Orientated Programming (OOP) is often overlooked by new developers assuming they will 'pick it up' - however it's best to learn the concepts from the beginning. This lecture will give you a brief overview of what OOP actually is and why we need it.

OOP & Classes - Basic Walkthrough

Learning is easier by doing - take a walkthrough creating and using classes.

More on Classes

Now you've learnt the basics, I'll show you so of the more advanced things you can do with classes and their usage.

Classes & Libraries

In this lecture we will discuss what a LIBRARY is, and how we can use namespaces to group and partition our code whilst preventing conflicts.

Encapsulation, Inheritance & Polymorphism (Not as scary as it sounds!)

Some of the basic 'features' of OOP - honestly - it's NOT that scary!

Access Modifiers

Explanation of public, private, internal and virtual access modifiers when declaring classes, properties and methods.

FREE BONUS BOOK! - ASP.NET, C# and Object Orientated Programming Primer

This book is a brief introduction and reference to what we have been learning so far. I normally sell this on Amazon, but it's free to all my hard working students :-)

OOP Project Files

Click the resources tab to get the Playground Project used in the OOP Lectures


SOLID Principles


SOLID is a set of guidelines for writing easily maintained code. Top developers (the ones who make the big bucks) try to follow these guidelines to make their life easier and code faster. They are also a must if you ever want to work in a larger team on larger projects.

Single Responsibility Principle

The S in SOLID. Learn about the Single Responsibility Principle and how we use it to break code up and to nice simple classes.

Open / Closed Principle

The O in SOLID. Best practices for building classes in regards to updating and extending your software.

Liskov Substitution Principle

The L in SOLID. This principle teaches you to write code that can be easily replaced and swapped out.

Interface Segregation Principle

The I in SOLID. This principle works in conjunction with the Liskov Principle to build code that can be made modular.

Dependency Inversion Principle

The D in SOLID. Dependency Inversion is perhaps one of the biggest growing patterns in software development. It is essential to understand and paves the way for better Testing and modularity of your code. The lecture provides the theory, and then you'll implement it in a real world scenario in the 'Building a data layer' section.


Slides from the previous lectures in PDF Format - handy for reference!

How SOLID are you?

Test how well you understand SOLID Principles!

MVC Primer

Hello World

Get started building your first ASP.NET MVC website - and see just how easy it is.

Anatomy and an MVC Website

With your first ASP.NET MVC site built, we'll walkthrough the main components and structure of the site.

Controllers Part 1

The C in MVC - Controllers manage the flow of data from Models to Views - learning about the basics of Controllers in this and the next lecture.

Controllers Part 2

Continuing our look at Controllers and how they work.


Once our MVC controllers are built they need to push information to a View - learn the basics of HTML Views here.


The final part of the MVC Acronym - Models.  Learn how they work in conjunction with Views and Controllers.

Posting Data

With the basics in place, lets start to push data from our Views to the 'backend' Controllers.

Scaffolding - Model Lists

Visual Studio has a tool called Scaffolding that makes the creation of Views fast and simple. Start by Scaffolding out a customer list.

Scaffolding - Posting Models

Continuing our look at Scaffolding, see how we can create 'POST' forms for creating objects.

Scaffolding - Viewing and Editing

Now we can create and view a list of objects, see how easy it is to view and edit those objects.

Scaffolding - Deleting

What can be created needs to be deleted - again Scaffolding makes it quick and easy.

Model Validation

Learn how to easily implement basic validation into your user Interfaces without needing any Javascript at all!

Partial Views

Learn about the different kinds of Partial Views and when they can be used.

MVC Quiz

Have you learnt your M from your V & C's? Test your knowledge!

ASP.NET Security

ASP.NET Security - Getting Started

Create an MVC website with ASP.NET Security

Code Walkthrough

With the ASP.NET Template in place, let's have a walk through some of the scaffolded code.

Extending ASP.NET Security

Learn how to extend the existing user model with additional fields.

Source Control

Introduction To Source Control
Getting a Git Account
Creating and Managing Repositories
Committing Code and Using Repositories
Branching and Merging

Real World Development


Get started building a Real World application using professional development practices.

Using the Code Samples

How to access my code from the these lectures

GitHub Integration

Install the Visual Studio integrated GitHub client and connect it to your account

Solution Setup

Build of the base solution the right way

Managing NuGet Packages

NuGet packages are often updated - however these updates can themselves cause issues.  We examine how to manage and update packages, and what to do when it goes wrong!

Product Models & Storage

Start building out our product models and basic storage mechanism

Product Management UI

With the models in place, scaffold out the management pages for creating, editing and deleting products.

Grouping Products - Part 1

Add some grouping to products with Categories, and implement a data driven drop down to constrain choices - this is a bigger subject than it sounds, and this is just the first part!

Grouping Products - Part 2

Finishing off our Product Category management pages,

Don't Repeat Yourself

Getting tired of continually repeating nearly the same code?  Implement a Generic repository that can handle any model without re-coding for each one.

Dependency Inversion / Injection

After generics, Dependency Inversion and Injection helps further create dynamic classes.

Microsoft Unity

Use Microsoft's Unity DI Containers, built for use with ASP.NET MVC

Entity Framework

Use Entity Framework to start building a SQL based database.

SQL Repositories

Use the earlier Generic repository model to implement a SQL based version.

Adding Product Images

Now we have a real data layer, start uploading Images to your products.

Product Listings

With the management pages all done, create a sale based product list.

Product Filtering

Add filtering to our product pages using the Product Categories.

Building The Shopping Cart


eCommerce sites need to allow users to add products to a basket - start by examining the options and the workflows used,

Building the Basket Model

Step one in building our Basket is creating the BasketModels

Creating the Basket Service

Rather than connect directly to a Database, we will create a separate Basket Service that encapsulates the required logic.

Creating The Basket Service - Part 2

Part 2 of the Basket Service

The Basket UI

With our service in place, let's now hook up our Basket pages.

Unit Testing


What are Unit Tests and why do we have them?

Creating Mocks Part 1

Using Mocks to test the database and Controllers

Creating Mocks Part 2

Continuing on from the previous lecture about how to setup your Mocks

Basket Tests Part 1

With our basics in place, create some tests to check our basket works

Basket Tests Part 2

Finishing off the basket tests

Customers, Orders and Securing Pages

Registering Customers

Start the customer journey by integrating the additional customers details into the normal user creation process.

Creating Orders

Take the next step of the customer journey by creating orders from the basket.

Testing The Order Process

Add Unit Tests to make sure our backend process is working as it should.

Finishing the Checkout Process

With our tests in place, finish off the order process by adding the final view pages.

Linking Customers to Orders

The final step on the customer journey is to ensure our orders are linked to our customers.

You can view and review the lecture materials indefinitely, like an on-demand channel.
Definitely! If you have an internet connection, courses on Udemy are available on any device at any time. If you don't have an internet connection, some instructors also let their students download course lectures. That's up to the instructor though, so make sure you get on their good side!
4.4 out of 5
1556 Ratings

Detailed Rating

Stars 5
Stars 4
Stars 3
Stars 2
Stars 1
30-Day Money-Back Guarantee


15 hours on-demand video
1 article
Full lifetime access
Access on mobile and TV
Certificate of Completion