Authors: Scott Allen, Alex Wolf, Chris Klug, Shawn Wildermuth, Paul D. Sheriff, Julie Lerman, Steve Smith, Vladimir Khorikov, Matt Honeycutt

MVC is an architectural pattern that separates applications into three components: the model, the view, and the controller. ASP.NET MVC provides this functionality to the ASP.NET... Read more

What you will learn

  • Understanding the MVC pattern
  • Modeling an application in a domain-driven way
  • Building loosely coupled components
  • Understand MVC request processing
  • Defining functionality with actions
  • Giving actions behavior with ActionResults
  • Manipulating behavior with attributes
  • Using Razor syntax
  • Applying HTML helpers
  • Reusing view parts
  • Passing data to views
  • Understanding model binding
  • Applying Models to the application
  • Using ViewBag and ViewData
  • Building a custom Model binder
  • How the routing system works
  • Building the routing table
  • Mapping routing values
  • Using route constraints
  • Creating URLs from routes
  • Plugging filters into MVC
  • Securing the application with authorization filters
  • Reacting to action execution with Action Filters
  • Monitoring and manipulating ViewResults with Result Filters
  • Reacting to Action execution with Action Filters
  • Dealing with unhandled exceptions with Exeption Filters
  • Understanding how validation works
  • Defining validation rules with annotations
  • Creating custom validation rules with annotations
  • Adding code to Contollers to support validation
  • Supporting validation in Views
  • Enhancing user experience with Ajax forms
  • Using asynchronous links
  • Detecting and responding to Ajax requests
  • Understanding OWIN/Katana
  • Configuring the OWIN startup class
  • Adding middleware to the pipeline
  • Creating custom middleware
  • Understanding the REST principle
  • Sending and receiving data
  • Serving content with media types
  • Consuming a service with .NET
  • Consuming a service with JavaScript


Basic web development, familiarity with the C# language and ASP.NET framework


The courses in this section will give you a gentle introduction to the MVC pattern, as well as the main components within the ASP.NET MVC framework.

Building Applications with ASP.NET MVC 4

by Scott Allen

Nov 8, 2012 / 7h 23m

7h 23m

Start Course

Hello, and welcome to Pluralsight! My name is Scott Allen, and I want to give you a quick overview of my course, Building Applications with ASP.NET MVC 4. It’s designed to help you learn the essentials you need to start building applications with Microsoft's MVC framework, and covers things like working with controllers and Razor views, as well as the Entity Framework, Entity Framework migrations, JavaScript, jQuery, and the Visual Studio web deployment tools. When you’re done, you’ll be ready to start building your own applications within the MVC framework. I look forward to working with you on Building Applications with ASP.NET MVC 4, here at Pluralsight.

Table of contents
  1. Course Overview1m
  2. Introduction to ASP.NET MVC 436m
  3. Controllers in ASP.NET MVC 441m
  4. Razor Views52m
  5. Working With Data (Part I)44m
  6. Working With Data (Part II)48m
  7. AJAX and ASP.NET MVC55m
  8. Security and ASP.NET MVC 455m
  9. ASP.NET MVC 4 Infrastructure36m
  10. Unit Testing with ASP.NET MVC 435m
  11. Deployment and Configuration36m

ASP.NET MVC 5 Fundamentals

by Scott Allen

Nov 5, 2013 / 6h 14m

6h 14m

Start Course

ASP.NET MVC 5 Fundamentals covers all the new features of ASP.NET MVC 5, as well as the new features for web developers in Visual Studio 2013. The course looks at the Katana and OWIN middleware components to see how the components work at a low level and how they fit into ASP.NET pipeline. The new identity and membership components are covered, and a demonstration is included to customize and seed the membership database. We look at Bootstrap 3's grid and responsive design system, as well as the Web API 2, including a demo of making authenticated calls against a Web API from JavaScript. The Entity Framework version 6 is covered including the new async API in EF6, and we'll build an application to stream performance counter data using SignalR and Knockout. Finally, there are tips and tricks for editing HTML, JavaScript, CSS and LESS with Visual Studio 2013 and extensions like Web Essentials, which brings the Zen Coding plugin to the Visual Studio.

Table of contents
  1. Introduction and Prerequisites15m
  2. OWIN and Katana51m
  3. Identity and Security54m
  4. Bootstrap47m
  5. WebAPI 250m
  6. Entity Framework 61h 1m
  7. SignalR49m
  8. Web Developer Tools and Visual Studio 201344m

The MVC Request Life Cycle

by Alex Wolf

Jun 3, 2015 / 2h 32m

2h 32m

Start Course

This course introduces ASP.NET developers, specifically MVC developers, to the life cycle of an HTTP request as it travels through the ASP.NET platform and the MVC framework. The course will educate developers about the major steps in the Request Life cycle, as well as how to extend and customize them when appropriate. The focus of the course will not be on MVC coding and how to build applications, but rather on the relationships between the components that comprise the request pipeline. The inner workings of the MVC framework will also be discussed where applicable, such as Controller Factories, Dependency Resolvers, and Result Execution.

Table of contents
  1. Overview13m
  2. The Application and Request Life Cycle Events25m
  3. Working with Routing, HttpHandlers, and HttpModules26m
  4. Understanding Controller Initialization28m
  5. Action Method Execution34m
  6. Exploring Action Results and the View Engine25m

Understanding OWIN and Katana

by Chris Klug

Oct 27, 2015 / 1h 51m

1h 51m

Start Course

Have you ever wished you could have a low hassle, easy to use, configurable way of building web applications in .NET? Maybe the ability to write a web application in just a few lines, as you can in Node.js? Well, OWIN gives you this, and then some. In this course, you will gain an understanding of how OWIN works and how it can do wonders for your .NET based web application development.

Table of contents
  1. What Is OWIN?18m
  2. Building a Simple OWIN Pipeline9m
  3. Creating Middleware with OWIN15m
  4. Integrating Frameworks20m
  5. Securing OWIN Pipelines17m
  6. Integrating Social Media Authentication16m
  7. Hosting an OWIN Pipeline12m


Our intermediate courses will show you how to level-up your new ASP.NET MVC skills. These courses will walk you through rebuilding legacy forms, code optimization, and implementing APIs.

Building an API with ASP.NET Core

by Shawn Wildermuth

Jan 9, 2019 / 2h 31m

2h 31m

Start Course

As technology advances, the requirements do as well. In this course, Building an API with ASP.NET Core, you will learn foundational knowledge on how to build an API from start to finish. First, you will explore how to use ASP.NET Core to build reliable APIs. Next, you will discover REST and when to be pragmatic about it. Finally, you will learn how to version your APIs. When you are finished with this course, you will know how to implement an API that is easy to use, and easy to maintain.

Table of contents
  1. Course Overview1m
  2. Pragmatic Rest24m
  3. Building Your First API35m
  4. Modifying Data25m
  5. Creating Association APIs28m
  6. Functional APIs7m
  7. Versioning Your API29m

Rebuilding Web Forms Applications in MVC

by Alex Wolf

Apr 12, 2016 / 3h 49m

3h 49m

Start Course

Transitioning from ASP.NET Web Forms applications to MVC applications can be difficult, but you can ease the transition. This course, Rebuilding Web Forms Applications in MVC, will help developers, like you, to migrate to a new framework. You'll complete this task using a two-tiered approach: first, you'll compare and contrast what high-level concepts are shared between Web Forms and MVC. Next, you'll learn how they are both built on the larger ASP.NET platform. Finally, you'll explore how the specific implementation details of those concepts vary between frameworks, demonstrated by rebuilding a meaningful sample application. By the end of this course, you'll be more prepared to rebuild apps and make a smooth transition to MVC.

Table of contents
  1. Course Overview1m
  2. Putting Web Forms and MVC in Perspective21m
  3. Request Management40m
  4. Designing with Layouts and Views33m
  5. Working with Forms24m
  6. Implementing Data Validation26m
  7. Understanding Partial Views and Child Actions25m
  8. Enhancing the Application with Ajax22m
  9. Working with Data33m

Improving Your MVC Applications with 10 Extension Points

by Alex Wolf

Nov 12, 2015 / 3h 8m

3h 8m

Start Course

The goal of this course is to teach developers how to customize and extend the MVC framework to meet their needs. MVC is built with powerful extensibility in mind and leveraging this flexibility can help solve tasks faster and more effectively. This course explores the extension points developers are most likely to work with in a real project and which provide the most value in the shortest amount of time. Understanding these features is crucial to building maintainable, properly structured MVC applications.

Table of contents
  1. Overview12m
  2. Improving Application Responses with Custom Action Results25m
  3. Organizing Application Flow with Action Filters22m
  4. Keeping Your Razor Code Clean with HTML Helpers16m
  5. Enabling Theme Support with a Custom View Engine17m
  6. Improving Error Handling with Custom Exception Filters16m
  7. Extending Validation to Improve Data Integrity19m
  8. Extending Data Binding with Custom Model Binders12m
  9. Improving Data Availability with Custom Value Providers12m
  10. Customizing Security Using Authentication Filters13m
  11. Influencing Action Method Execution Using Custom Selectors19m

Consolidating MVC Views Using Single Page Techniques

by Paul D. Sheriff

Oct 9, 2015 / 2h 29m

2h 29m

Start Course

Paul's Training Company needs a web page to add, edit, delete, list, and search for products at their company. You have been tasked with building this page using MVC 5, but you don't want to use the five separate pages generated from the Visual Studio 2013 scaffolding engine. Instead you want to combine all those pages together in a "SPA"-like technique. You also want to take advantage of MVVM so you can reuse all data access and validation in a mobile application that is to come in the future. In this course, I will walk you through how to use all of these tools to accomplish this SPA-like technique in your MVC applications and improve your testability and reusability.

Table of contents
  1. Consolidating MVC Views Using Single Page Techniques5m
  2. List and Search Data Using MVVM, MVC5, and Bootstrap43m
  3. Add and Validate Data with Data Annotations, MVVM, and MVC 546m
  4. Modify & Delete Data Using Hidden Fields and Data Dash Attributes25m
  5. Reusability Using a View Model Base Class27m


These advanced topics will round out your knowledge of the MVC framework. You’ll learn domain-driven design and finish off with building your own application framework.

Domain-Driven Design Fundamentals

by Julie Lerman

Jun 25, 2014 / 4h 16m

4h 16m

Start Course

Hello, and welcome to Domain-Driven Design Fundamentals, part of the ASP.NET MVC 5 Learning Path here at Pluralsight. Your authors, Steve Smith and Julie Lerman, are looking forward to helping you learn the fundamentals of Domain-Driven Design (DDD) through a demonstration of customer interactions and a complex demo application. Along the way, you’ll learn about elements of a domain model, aggregates in Domain-Driven Design, and repositories. You’ll also get hands on modeling problems, and learn about technical components of DDD, and how to manage complexity. So if you’re ready to get started, Domain-Driven Design Fundamentals is waiting for you. Thanks again for visiting us here at Pluralsight!

Table of contents
  1. Introducing DDD24m
  2. DDD: Modeling Problems in Software45m
  3. Elements of a Domain Model1h 1m
  4. Aggregates in Domain-Driven Design24m
  5. Repositories27m
  6. Domain Events and Anti-corruption Layers35m
  7. Reaping the Benefits of Domain-Driven Design37m

Domain-Driven Design in Practice

by Vladimir Khorikov

Jan 21, 2016 / 4h 19m

4h 19m

Start Course

While Domain-Driven Design offers invaluable insights regarding developing enterprise-level software projects, it is often unclear how to apply them in practice. In this course, we'll go through the whole process of building an application from the very beginning using the DDD principles.

Table of contents
  1. Introduction29m
  2. Starting with the First Bounded Context46m
  3. Introducing UI and Persistence Layers33m
  4. Extending the Bounded Context with Aggregates35m
  5. Introducing Repositories20m
  6. Introducing the Second Bounded Context33m
  7. Working with Domain Events39m
  8. Looking Forward to Further Enhancements20m

Build Your Own Application Framework with ASP.NET MVC 5

by Matt Honeycutt

Mar 13, 2014 / 3h 25m

3h 25m

Start Course

In this course, you will learn all about ASP.NET MVC, the various pieces and components that can be extended or customized, and how to leverage those pieces to build your own application framework. You’ll learn about concepts such as editor and display templates, layouts, building custom helpers, action filters, data annotations, and more. After a thorough introduction to application frameworks concepts, you will see how to craft your own optimized infrastructure for your applications. You’ll learn how to create your own HTML helpers, action results, data annotations, and action filters, as well as how to customize and extend larger subsystems such as model metadata providers, model binders, view engines, and dependency resolvers. You will learn how the baked-in conventions can be customized, enriched with additional conventions, or completely overwritten with whatever best fits your day-to-day needs. By the end of the course, you will know how to bend ASP.NET MVC 5 to maximize your productivity.

Table of contents
  1. What Is an "Application Framework?"14m
  2. The Power of an Inversion of Control Container1h 1m
  3. Optimize Your Controller Layer42m
  4. Optimize Your View Layer43m
  5. Optimize Your JavaScript43m
Offer Code *
Email * First name * Last name *
Country *

* Required field

Opt in for the latest promotions and events. You may unsubscribe at any time. Privacy Policy

By activating this benefit, you agree to abide by Pluralsight's terms of use and privacy policy.

I agree, activate benefit