4.42 out of 5
4.42
18586 reviews on Udemy

The Complete ASP.NET MVC 5 Course

Learn to build fast and secure web applications with ASP.NET MVC 5 - The most popular course with 40,000+ students!
Instructor:
Mosh Hamedani
61,630 students enrolled
English More
Understand the MVC architectural pattern
Implement CRUD operations
Build forms with server-side and client-side validation
Build RESTful services using ASP.NET Web API
Use powerful jQuery plug-ins
Implement authentication and authorization using ASP.NET Web API
Use Entity Framework to query or update data
Understand and apply security best practices
Build and deploy applications
Create and customize build configurations
Manage client / server dependencies
Test APIs using PostMan
Use AutoMapper

With over 40,000 happy students and 12,000+ positive reviews, this course is Udemy’s most popular course for learning ASP.NET MVC! 

ASP.NET MVC is a server-side web framework for building dynamic, data-driven web applications. Since its first release in 2009, it has gained a lot of popularity amongst developers using Microsoft technologies. If you want to get employed as a web developer at a company that utilizes Microsoft technologies, you need to master ASP.NET MVC.

In this course, Mosh, author of several best-selling courses on Udemy, takes you on a fun, hands-on and pragmatic journey to master ASP.NET MVC 5. 

In 7.5 hours of high-quality content (equivalent to a 500-page book), you’ll learn how to build and deploy fast and secure web applications with ASP.NET MVC 5. 

By the end of watching this course, you’ll be able to: 

  • Implement CRUD operations
  • Build forms with validation 
  • Build RESTful services using ASP.NET Web API
  • Use Entity Framework code-first workflow to build a model 
  • Implement security, authentication and authorization using ASP.NET Identity
  • Use powerful jQuery plugins
  • Optimize application’s performance  
  • Build and deploy your applications 
  • And much more…


You’ll start building a real-world video rental application within minutes. Every section includes a few bitesized videos, and concludes with one or more coding exercises to help you master what you learn in that section. Finally, in the last section, you’ll learn how to 

  • Deploy the application
  • Deploy the database 
  • Create custom build configurations (development, testing, staging, etc)
  • Store application settings in web.config and override them for different environments
  • Secure application settings and connection strings
  • And more…

Whether you’re new to ASP.NET MVC or have some experience but are looking for a course to fill in the gaps, you’ll love this course. On top of all the core features of ASP.NET MVC, Mosh teaches you a systematic way to build a feature end-to-end. And more importantly, he includes you as part of building a sophisticated feature end-to-end. So, he builds some parts and delegates the other parts to you. 

If you’ve taken any of Mosh’s courses before, you know what you get. He is very passionate, clear and concise in his teaching. Every section and every lecture has been perfectly thought through to lead you on a step-by-step journey from zero to hero with no fluff whatsoever. If you’re looking for 10+ hours of wasted time on the content you don’t need and a rambling instructor, there are other courses you can enrol in.

PREREQUISITES

In order to take this course, you should have at least 3 months experience programming in C#. Also, any familiarity with Entity Framework will be helpful but not required. 

If you need to strengthen your C# skills or learn Entity Framework in depth, you can watch Mosh’s related courses:

  • C# Basics for Beginners (essential knowledge)
  • C# Intermediate: Classes, interfaces and Object-oriented (essential knowledge)
  • C# Advanced (essential knowledge)
  • Entity Framework in Depth (nice to have)


So, if you watch all the lectures and do all the exercises, by the end of this course, you’ll have the necessary skills to build real-world applications with ASP.NET MVC 5, or all your money back (within 30 days of taking the course).

So, if you’re looking for an ASP.NET MVC course with 

  • A passionate coder and instructor who knows his craft
  • Perfect structure 
  • Balanced mix of theory and practice
  • Clear, concise and bite-sized videos 
  • Lots of real-world examples and coding exercises
  • Discussion of best practices 
  • World-class audio / video production

Don’t look further. Enroll in the course now and learn to build and deploy fast and secure web applications with ASP.NET MVC 5.


FREQUENTLY ASKED QUESTIONS

1- Does this course cover ASP.NET Core 1.0? 

No! Once you master ASP.NET MVC 5, you can quickly get up to speed with ASP.NET Core. Mosh has a follow up course on Udemy called “Build a Real-world App with ASP.NET Core and Angular”. In this course, you’ll get up to speed with ASP.NET Core in the context of building a real app from A to Z. 

2- Why should I pay for this course when there are lots of free tutorials available?

Free tutorials and YouTube videos are free for a reason. They introduce you to a few concepts here and there, but soon you’ll find yourself jumping from one tutorial to another to fill the missing gaps. By taking a perfectly-structured course, you’ll be confident that you’re in good hands, right from the beginning all the way through to the very end. You pay for saving your precious time: the time that you can spend on the things you love. 

Plus, many of these free tutorials, including tutorials published by Microsoft on the official ASP.NET website, teach you poor practices. Throughout this course, Mosh points out some of these poor practices and explains in technical terms why you should avoid them. 

WHAT OTHER STUDENTS WHO HAVE TAKEN THIS COURSE SAY

“The is course is very much worth your time and money. Mosh did an outstanding job explaining each aspect of MVC 5 as well as introducing and using other technologies such as Web API. I’ve been working with MVC since it’s release but felt I needed a refresher course and this was excellent. I would also recommend it to developers just getting into MVC as well because Mosh does a great job of explaining the concepts behind what you’re learning. I really enjoyed it and highly recommend it.” -Scott Smith

“Course teaches exactly what the title promises to teach. Quality of production, content, and lectures are excellent! Explanations of the how and why are also a nice touch!” -Pierre Gadea

“Mosh never disappoints. Clear explanations. Exercises that will test you knowledge. Great instruction as always. I also love that he includes shortcuts and best practices. Worth the time and money!” -Lara Caves

“Amazing course from Mosh! After I finished the C# series, I moved directly to this course and learn so much and even developed a successful web app in my internship! Thanks Mosh for a great course!!” -Menny Atia

“I’ve been into web development for more than 15 years, but until recently I was totally new to ASP.NET MVC. Before taking this course I tried other courses, but these were either too complicated for a beginner or didn’t cover all the necessery informations needed to get started. This is an excellent course to begin with ASP.NET MVC that covers everything you need to create a real world project. The prerequisites are a good understaning of C# (OOP, Lambdas, LINQ…) , Javascript and JQuery” -Marko Pavic

“Professionally structured, carefully planned course. Passionate, engaging instructor with great communication skills. Best course I’ve ever had on Udemy so far. I would love to take the follow-up course on architecture and testing mentioned in the final video.” -Istvan Voros

“One of the best courses i have ever taken,Recommend for every C# developer through his all the courses in Udemy. They are eye-openers and it will change the way you think about Programming.After taking his courses ,with in a span of one month i have a cracked a interview in one of the Big 4 with 70% hike.” -Rama Reddy

30-DAY FULL MONEY-BACK GUARANTEE

This course comes with a 30-day full money-back guarantee. Take the course, watch every lecture, and do the exercises, and if you feel like this course is not for you, ask for a full refund within 30 days. All your money back, no questions asked

ABOUT YOUR INSTRUCTOR 

Mosh (Moshfegh) Hamedani is a software engineer with 17 years of professional experience. He is the author of several best selling Udemy courses with more than 120,000 students in 192 countries. He has a Master of Science in Network Systems and Bachelor of Science in Software Engineering. His students describe him as passionate, pragmatic and motivational in his teaching.

Do you want to learn how to build and deploy fast and secure web application with ASP.NET MVC 5?

If you enroll in the course now, you’ll start building your first ASP.NET MVC app within a few minutes. Join the other 40,000+ students who have taken this course now and get started.

Getting Started

1
Introduction

A quick demo of the application we're going to build in this course. 

2
MVC Architectural Pattern

In this lecture, I'll explain all the building blocks of MVC architectural pattern and their responsibilities. You'll learn about models, controllers, views, routers and the benefit of MVC pattern. 

3
Setting Up the Development Environment

In this lecture, I'll show you the tools we'll be using to build our video rental app.

4
Your First ASP.NET MVC App

In this lecture, we'll create our first ASP.NET MVC app and I'll walk you through various files and folders in the project. By the end of this lecture, you'll know where everything should be. 

5
MVC in Action

Next, I'll show you the building blocks of MVC architectural pattern in action. We'll add a model, a controller and a view to build a new page where we display the name of a movie. 

6
Adding a Theme

The default template that comes with ASP.NET MVC project template looks pretty boring. In this video, I'll show you how to replace it with a beautiful and modern theme.

7
Quiz
8
Course Layout

A quick overview of how this course is structured.

9
Asking Questions

ASP.NET MVC Fundamentals

1
Introduction

A quick introduction about what you're going to learn in this section.

2
Action Results

In this lecture, we'll examine action results in more detail. You'll learn about various types of results we can return from our actions. 

3
Action Parameters

In the last lecture, you learned about action results, which are the outputs of our actions. In this lecture, you'll learn about action parameters, which are the inputs to our actions. You'll learn how ASP.NET MVC frameworks maps request data to action parameters. 

4
Convention-based Routing

The default route in ASP.NET MVC works for most cases, but not always. In this lecture, you'll learn how to create a custom route with multiple parameters, and how to use regular expressions to apply constraints on these parameters. 

5
Attribute Routing

Convention-based routing is a poor way of creating custom routes. As the number of custom routes increases, sooner or later, it'll turn into a mess. In this video, I'll show you attribute routing as a cleaner and more maintainable way to create custom routes. 

6
Passing Data to Views

In this lecture, you'll learn about ViewData and ViewBag and why you should avoid using them. 

7
View Models

There are times that we need to pass more than one model to a view. That's when we use a view model. A view model is a class the encapsulates the data and rules for a view. In this video, you'll learn how to create and use a view model. 

8
Razor Syntax

In this video, we'll explore the razor view syntax in ASP.NET MVC. You'll learn how to:

  • render lists
  • render content conditionally
  • render classes dynamically
  • use comments 
9
Partial Views

In this lecture, you'll learn how you can partial views to break up a large view with a lot of mark up, into smaller, more maintainable partial views. 

10
Cheat Sheet

Summary of what you've learned in this section.

11
Exercise

As part of this exercise, you'll create two pages, one to display the list of customers and the other to display the details about that customer. 

12
Solution

In this lecture, I'll introduce you to the GitHub repository I've created for this course. With this repository, you can see my individual commits as well as solution to exercises.

13
Summary

Summary of what you've learned in this section and what is coming next.

Working with Data

1
Introduction

A quick overview of what you're going to learn in this section.

2
Entity Framework

What is Entity Framework and why do we need it? In this short video, I answer these questions.

3
Database-first vs Code-first

There are two different workflows to using Entity Framework: Database-first and Code-first. In this lecture, I explain how these workflows work and why I always prefer code-first workflow.

4
Code-first Migrations

We use code-first migrations to bring the database schema up to date with the domain model of our application. In this lecture, you'll learn how to use code-first migrations to generate and migrate a database.

5
Changing the Model

In this lecture, we extend the domain model of our app and introduce some complexity. Then, we use code-first migrations again to migrate the database.

6
Seeding the Database

Sometimes we need to deploy reference data with our application. Examples of this are list of genres, or membership types supported by our application. In this lecture, you'll learn how to seed the database using code-first migrations and ensure consistent reference data across different database environments. 

7
Overriding Conventions

Code-first uses convention over configuration. While the conventions assumed by Entity Framework work in most situations, sometimes we need to override them. In this lecture, you'll learn how to override code-first conventions using data annotations. 

8
Querying Objects

Now that you've learned the fundamentals of Entity Framework, it's time to replace the hardcoded data in our application with real data fetched from the database. This lecture shows you how.

9
Eager Loading

Sometimes we need to load an object with its related objects. This is referred to as eager loading. In this lecture, you'll learn how to use eager loading to load load customers and their membership types. 

10
Shortcut to Package Manager Console

When using the code-first workflow, we use Package Manager Console quite often. In this lecture, I'll show you how to create a custom shortcut to quickly open up Package Manager Console.

11
Cheat Sheet

Summary of what you've learned in this section.

12
Exercise 1: Add membership type to list of customers

In this exercise, you'll slightly change the domain model of the application and use code-first migrations to bring the database up to date. Next, you use another migration to update existing reference data in the database.

13
Exercise 2: Add birthdate to customer

As part of this exercise, you extend the customer details page and show various attributes about a given customer. You'll also add the Birthdate property to the Customer type and again use code-first migrations to bring the database up to date. 

14
Exercise 3: Display the list of movies and their details

In this exercise, you replace the hardcoded list of movies with the movies in the database. You'll also introduce a new type (Genre) and populate the corresponding table using code-first migrations. 

15
Summary

Summary of what you've learned in this section and what is coming next.

Building Forms

1
Introduction

A quick introduction about what you're going to learn in this section.

2
The Markup

In this video, you'll learn the mark up we use to build modern and responsive forms. You'll also learn about common HTML helpers like LabelFor, TextBoxFor, DropDownListFor, CheckBoxFor, and so on.

3
Labels

In this video, you'll learn how to override the labels in your forms using the Display annotation.

4
Drop-down Lists

Rendering drop-down lists requires a little bit extra work. This video teaches you how to encapsulate your data in a view model and render a drop-down list using @Html.DropDownListFor and SelectList.

5
Model Binding

In this video, you'll learn what model binding is and how it works. 

6
Saving Data

Our form is ready. Now it's time to save the data. This video shows you how to persist data using Entity Framework.

7
Edit Form

In this video, we'll re-use the form we created earlier to edit an existing customer. 

8
Updating Data

In this video, I explain the issues with TryUpdateModel in ASP.NET MVC and why you should avoid it. You'll also learn how to update data using Entity Framework.

9
Cheat Sheet

A quick summary of what you've learned in this section.

10
Exercise

As part of this exercise, you'll build a form to add / edit movies. 

11
Troubleshooting Entity Validation Errors

One of the common mysterious exceptions with Entity Framework is DbEntityValidationException. In this video, you'll learn what this exception is, how to find the actual source of the problem and how to resolve it. 

12
Summary

Summary of what you've learned in this section and what is coming next.

Implementing Validation

1
Introduction

A quick introduction about what you're going to learn in this section.

2
Adding Validation

In this lecture, I'll show you the 3 steps you need to follow to add validation to your forms.

3
Styling Validation Errors

Validation errors are black by default. In this lecture you'll learn how to apply a style to them to make them stand out.

4
Data Annotations

This lecture lists the standard data annotations that you can use in your ASP.NET MVC applications.

5
Custom Validation

Standard data annotations are good, but not enough. Sometimes you need custom validation. In this lecture, I'll make up a business rule for our application and show you how to implement a custom validator for one of the fields in our form.

6
Refactoring Magic Numbers

In this video, you'll learn a technique to remove magic numbers from your code and improve its readability and maintainability. 

7
Validation Summary

As a usability best practice, it's good to display a summary message on top of a form with invalid fields. This lecture shows you how.

8
Client-side Validation

Client-side validation is not enabled in your ASP.NET MVC applications by default. In this video, I'll show you how to enable it. 

9
Anti-forgery Tokens

In this video, I'll show you a security vulnerability in our form that allows an attacker create customers on behalf of a user without their knowledge. This is referred to as CSRF or Cross-site Request Forgery. Once you understand how it works, you'll learn how to prevent it.

10
Cheat Sheet

Summary of what you've learned in this section.

11
Exercise

In this exercise, you'll add validation to add/edit movie form.

12
Code Review

In this video, I introduce you to what I call "pure view models". You'll also learn a few simple ways to refactor your code and make it cleaner and more maintainable.

13
Summary

Summary of what you've learned in this section and what is coming next.

Building RESTful Services with ASP.NET Web API

1
Introduction

A quick introduction about what you're going to learn in this section.

2
What is a Web API?

In this lecture, you'll learn about HTTP services or Web APIs and their benefits along with some real-world examples.

3
RESTful Convention

In this lecture, you'll learn the basics of RESTful convention for building http services or web APIs.

4
Building an API

In this lecture, we'll build an API for CRUD operations around customers. 

5
Testing an API

In this lecture, I'll introduce you to a very useful, simple and lightweight Chrome plug-in for testing Web APIs. 

6
Data Transfer Objects

There are two issues in the implementation of the API we've built. The contract of this API is fragile and can break easily. Also, there are security holes in this API. So, in this video, I'll show you how to use a data transfer object to resolve these issues.

7
Auto Mapper

Mapping domain objects to DTOs and vice versa can be tedious. So, in this lecture, I'll show you a simple convention-based mapping tool AutoMapper. 

8
Using Camel Notation

By default, ASP.NET Web API uses pascal naming convention in the JSON objects returned from Web APIs. But using objects with pascal naming convention is ugly in Javascript as we use camel casing in Javascript. In this lecture, I'll show you how to enable camel casing in Web API.

9
IHttpActionResult

While we can simply return types like Customer or IEnumerable<Customer> from our APIs, to better confirm with RESTful conventions, we need more control over the generated response. In this lecture, I'll show you how to use IHttpActionResult to achieve that. 

10
Cheat Sheet

A quick summary of what you've learned in this section.

11
Exercise

As part of this exercise, you'll build an API for CRUD operations around movies.

12
Summary

Summary of what you've learned in this section and what is coming next.

Client-side Development

1
Introduction

A quick introduction about what you're going to learn in this section.

2
Calling an API Using jQuery

In this lecture, you'll learn how to use jQuery AJAX to call an API. We'll use this technique to delete a customer.

3
Bootbox Plug-in

The native confirmation box in JavaScript is pretty boring. So, in this video I'll show you how to display beautiful and modern Bootstrap dialog boxes.

4
Optimizing jQuery Code

A simple change in how you handle events in jQuery can have a noticeable impact on how much of the browser's memory your application uses. This video shows you how.

5
DataTables Plug-in

In most applications where we display tabular data, we often need to implement searching, sorting and pagination in our tables. In this video, I'll introduce you to DataTables plug-in, which gives you all this functionality without writing any additional code.

6
DataTables with Ajax Source

While you can initialize a DataTable using the existing data in the DOM, it's better and more efficient to load it using data from an API. In this video, we'll configure our DataTable to use the customers API as its data source.

7
Returning Hierarchical Data

Sometimes your APIs need to return hierarchical data. This video shows you the necessary steps required to do this.

8
DataTables: Removing Records

When using DataTables plugin, you shouldn't remove rows from the DOM, because the data is still in the internal list of DataTable. In this video, I'll show you how to properly remove a row.

9
DataTables: Discussion Points

In this video, I'll briefly discuss a couple of things about performance of data tables when dealing with a large dataset, as well as refactoring our JavaScript code.

10
Single Page Applications (SPAs)

What are single page applications and what advantages do they provide? This video gives you the answers.

11
Cheat Sheet

A quick summary of what you've learned in this section.

12
Exercise

As part of this exercise, you'll add DataTables to the list of movies. You'll also use Bootbox and jQuery AJAX to delete a movie.

13
Summary

A summary of what you've learned in this section and what is coming next. 

Authentication and Authorization

1
Introduction

A quick introduction about what you're going to learn in this section.

2
The Problem

In this lecture, we'll explore the authentication/authorization requirements for our application.

3
Authentication Options

There are various ways to authenticate users in ASP.NET MVC apps. In this lecture, I'll show you various authentication options and I'll explain when to use each.

4
ASP.NET Identity

ASP.NET MVC applications use a framework called ASP.NET Identity for controlling authentication and authorization. In this lecture, I'll give you an overview of the architecture of ASP.NET Identity.

5
Restricting Access

In this lecture, you'll learn how to restrict access to certain actions to authenticated users. 

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
4.4 out of 5
18586 Ratings

Detailed Rating

Stars 5
10681
Stars 4
5755
Stars 3
1532
Stars 2
363
Stars 1
260
81c660bdfffa678d425c239dda037a00
30-Day Money-Back Guarantee

Includes

8 hours on-demand video
10 articles
Full lifetime access
Access on mobile and TV
Certificate of Completion