Complete ASP NET MVC Web Development - Newbie to Ninja!
4.2 (2,221 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
12,816 students enrolled

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
4.2 (2,221 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
12,816 students enrolled
Created by Brett Hargreaves
Last updated 7/2020
English [Auto], Italian [Auto]
Current price: $20.99 Original price: $29.99 Discount: 30% off
5 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 14.5 hours on-demand video
  • 1 article
  • 4 downloadable resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • 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
Course content
Expand all 92 lectures 15:19:25
+ Introduction
4 lectures 21:31

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

Preview 06:13

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

Preview 05:38

Visual Studio 2019 has been release - but should you use it, and what difference will it make?

Visual Studio 2019 Update

How to Install SQL Express & the Management Tools 

Installing SQL
+ C# Primer
14 lectures 02:04:52

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


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!

Obligatory Hello World 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'.

Structure of a C# Project
Variable 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.

User Defined Types
Values Versus Reference Types

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

Arrays And Collections

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 Introduction
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)
8 lectures 01:03:49

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.

Object Orientated Programming Overview

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

OOP & Classes - Basic Walkthrough

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

More on Classes

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.

Classes & Libraries

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

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

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

Access Modifiers

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 :-)

Preview 30 pages

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

Preview 00:03
4 questions
+ SOLID Principles
7 lectures 15:17

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.

Preview 01:06

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

Single Responsibility Principle

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

Open / Closed Principle

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

Liskov Substitution Principle

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

Interface Segregation 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.

Dependency Inversion Principle

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

8 pages

Test how well you understand SOLID Principles!

How SOLID are you?
4 questions
+ MVC Primer
14 lectures 01:56:52

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

Hello World

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

Preview 08:02

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 1

Continuing our look at Controllers and how they work.

Controllers Part 2

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.


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

Posting Data

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

Scaffolding - Model Lists

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

Preview 14:22

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

Scaffolding - Viewing and Editing

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

Scaffolding - Deleting

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

Model Validation

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

Partial Views

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

MVC Quiz
3 questions
+ ASP.NET Security
3 lectures 27:11

Create an MVC website with ASP.NET Security

ASP.NET Security - Getting Started

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

Code Walkthrough

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

Extending ASP.NET Security
+ Source Control
5 lectures 38:45
Introduction To Source Control
Getting a Git Account
Creating and Managing Repositories
Committing Code and Using Repositories
Branching and Merging
+ Real World Development
17 lectures 03:34:20

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


How to access my code from the these lectures

Using the Code Samples

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

GitHub Integration

Build of the base solution the right way

Solution Setup

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!

Managing NuGet Packages

Start building out our product models and basic storage mechanism

Product Models & Storage

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

Product Management UI

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 1

Finishing off our Product Category management pages,

Grouping Products - Part 2

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

Don't Repeat Yourself

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

Dependency Inversion / Injection

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

Microsoft Unity

Use Entity Framework to start building a SQL based database.

Entity Framework

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

SQL Repositories

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

Adding Product Images

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

Product Listings

Add filtering to our product pages using the Product Categories.

Product Filtering
+ Building The Shopping Cart
5 lectures 01:12:35

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


Step one in building our Basket is creating the BasketModels

Building the Basket Model

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 of the Basket Service

Creating The Basket Service - Part 2

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

The Basket UI
+ Unit Testing
5 lectures 49:56

What are Unit Tests and why do we have them?


Using Mocks to test the database and Controllers

Creating Mocks Part 1

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

Creating Mocks Part 2

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

Basket Tests Part 1

Finishing off the basket tests

Basket Tests Part 2
  • Determination and desire to better yourself in order to become a great web developer
  • Hard-working attitude and able to see the end goal of becoming a professional developer
  • Visual Studio 2017 installed (Community is fine). Understanding of HTML & CSS

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

Who this course is for:
  • This course is aimed at people wanting to learn how to program in C# to build websites. Basic programming skills (such as loops etc) are assumed but the course is comprehensive and will take your skill set from newbie to ninja!