Complete ASP NET MVC Web Development - Newbie to Ninja!

Learn Web Development with ASP NET MVC and C#. From absolute basics to ninja learn C# and MVC like Pro Web Developer!
4.0 (516 ratings)
Instead of using a simple lifetime average, Udemy calculates a
course's star rating by considering a number of different factors
such as the number of ratings, the age of ratings, and the
likelihood of fraudulent ratings.
5,398 students enrolled Bestselling in ASP.NET
92% off
Take This Course
  • Lectures 66
  • Length 9 hours
  • Skill Level All Levels
  • Languages English
  • Includes Lifetime access
    30 day money back guarantee!
    Available on iOS and Android
    Certificate of Completion
Wishlisted Wishlist

How taking a course works


Find online courses made by experts from around the world.


Take your courses with you and learn anywhere, anytime.


Learn and practice real-world skills and achieve your goals.

About This Course

Published 11/2014 English

Course Description

Do you want to learn how to program and build robust Websites using the latest technologies?

I'll teach you step by step from the absolute basics to the more advanced patters 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.

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 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
  • Dependency Injection
  • Modules
  • 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

What are the requirements?

  • Visual Studio 2013 installed (Express is fine). Understanding of HTML, some javascript and c#

What am I going to get from this course?

  • 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

Who is the target audience?

  • 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.

What you get with this course?

Not for you? No problem.
30 day money back guarantee.

Forever yours.
Lifetime access.

Learn on the go.
Desktop, iOS and Android.

Get rewarded.
Certificate of completion.


Section 1: Introduction

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


An overview of the e-commerce project that we will be building throughout the course.


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

Installing SQL
Issues when updating to SQL 2014
Section 2: NEWBIE: C# Primer

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!


Click the resources tab and download the code for the 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'.

Variables and 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.


Click the resources tab and download the code for the Variables and Types Project used in the previous lectures on Variables, Types and User Defined 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.


Click the resources tab and download the code for the Arrays Project used in the previous lectures on Arrays and Collections


All programs need to respond to information and execute code depending on user choices and actions. In this lecture we learn how to build Program Flow into a C# application. We learn how to check and compare variables and the various options available for directing the code accordingly.

We will cover If Then Else statements, While Loops, For Loops and Switch Statements.

Click the resources tab and download the code for the NumberGuesser Project used in the previous lectures on Program Flow

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


So what exactly did you learn in this section? A brief overview of what we did and where to go next,

Section 3: NEWBIE: Object Orientated Programming (OOP)

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.


Learning is easier by doing - take a walkthrough creating and using 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.


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.


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


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

30 pages

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


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

4 questions
Section 4: NEWBIE: 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.


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


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


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


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


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.

8 pages

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

4 questions

Test how well you understand SOLID Principles!

Section 5: Source Control
Introduction To Source Control
Getting a Git Account
Creating and Managing Repositories
Committing Code and Using Repositories
Branching and Merging
Section 6: NEWBIE: MVC Primer

What exactly is MVC and why is everyone using it now? This lecture provides an overview and just why MVC is a great tool for Website Development


Learn by doing. Create your first MVC website and start learning the core knowledge that you will build upon.


Once you have your website you use 'Views' to display the actual HTML to your users. This walkthrough will teach you everything you need to know to use Views effectively in an MVC website.


Partial Views are a simple yet powerful kind of view used in MVC that allow you to build common sections of code and functionality and re-use them throughout your website. This makes building your site neater, quicker and easier to maintain.


Click the Resources Tab to get the MVCStarter Project/Website used in the MVC Primer Lectures

3 questions

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

Section 7: NEWBIE: Setting up the Project

Now you have the basics lets get started building an e-Commerce site! First we'll have a walkthrough of HOW we will be splitting our project up to ensure it is modular, easy to maintain and easy to extend.


Here I will walk you through building our basic solution. This will set us up ready for the real work.

Section 8: EXPERIENCED: Building the Data Layer

The first thing we need to build is our data layer. The data layer is all the code that is responsible for Creating, Reading, Updating and Deleting (CRUD) our data such as product information and customers. Lets have a quick overview of how we will do this.


First we must define the model that our project will use, and discuss why we make certain choices around static and dynamic fields


A brief introduction to the Entity Framework for data persistence, and how we can integrate and extend that library into our application


How Abstraction can reduce our code base and maintenance by creating a common class for derived classes that share functions. This is a real world example of how to use OOP features such as Encapsulation, Inheritance and Polymorphism.


Source code of the project so far. Includes the basic Models, project framework and is ready for the next lecture!

You can pick this code up as is and continue with it, or simple use if to check the work you've done so far.


How Entity Framework Migrations can help keep the database in sync with our model, and how to set it up and use it effectively.


What are interfaces and how they will help up implement a key SOLID Principal


A simple introduction to Unity DI, why we use it, and how to implement the basics. This is another key SOLID principle, and in this lecture you'll learn how to use it.

Section 9: EXPERIENCED: Creating the UI Layer

Code so far - I've added Basket and BasketItems - so you will need to run an Update Database from the package manager console!


We'll run through some basic MVC scaffolding again, but more importantly how we hook it up to our new data layer


Buidling on what you learnt in the previous lecture, this time you will implement the Browse and Details pages for your products.


Code so far ready for the add to basket.

You can pick this code up as is and continue with it, or simple use if to check the work you've done so far.


Build a separate basket service in a modular fashion - this way we can independently maintain, test and update the service without muddling up our UI project,

Section 10: PRO: Adding and Injecting Modules

What are module and we use them?

A Brief introduction in to the concepts and why they are useful


Start with this code and compare it to what you have written. It includes some basic models for a 'Voucher' entity. Don't forget to run Update-Database!


Using the Voucher model included in the previous code update, we'll create a module for calculating and creating a voucher that users can add to their basket to get money off etc. The module will use a lot of the SOLID principles to create something that can be easily swapped out with as many different versions as you need - all on the fly and controlled within your website!


The final piece of the puzzle - how to actually use your shiny new SOLID compliant modules.


Code so far - updated project with all code from the Module Injection lectures

Section 11: Wrapping it up

Where to go from here? A look at some HTML and Javascript libraries from the UI - each of which is a course all in it's own right!

I Hope you've enjoyed the course, please leave me a review or feed back either via the forums and PM me if you have questions or suggestions.

Section 12: Q & A Answers
Common Entity Framework & SQL Issues
When to use the var Keyword (and when NOT too)

Students Who Viewed This Course Also Viewed

  • Loading
  • Loading
  • Loading

Instructor Biography

Brett Hargreaves, Professional Software Developer and Teacher

Hi! I'm Brett and I live in a quiet little town in the North of England.

I've worked in IT for over 15 years as a developer and architect and I've been programming since I was 10. I've worked as a freelancer and as a consultant for small companies and some of the worlds largest IT providers - including Fujitsu, Cap Gemini and Capita.

In that time I've worked with a range of development tools from BASIC to PASCAL, Visual Basic, C#, Swift, Java, ASP and ASP.NET. I've built solutions with pure code, Dynamics CRM and Sharepoint - I certainly don't get bored!

I love learning new technologies, and more recently I'm enjoying sharing that knowledge through books, blogs and of course training courses.

For me learning is a lifelong pursuit - and I hope you'll join me on my journey!

Ready to start learning?
Take This Course