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

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 24m

7h 24m

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 Overview
  2. Introduction to ASP.NET MVC 4
  3. Controllers in ASP.NET MVC 4
  4. Razor Views
  5. Working With Data (Part I)
  6. Working With Data (Part II)
  8. Security and ASP.NET MVC 4
  9. ASP.NET MVC 4 Infrastructure
  10. Unit Testing with ASP.NET MVC 4
  11. Deployment and Configuration

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 Prerequisites
  2. OWIN and Katana
  3. Identity and Security
  4. Bootstrap
  5. WebAPI 2
  6. Entity Framework 6
  7. SignalR
  8. Web Developer Tools and Visual Studio 2013

The MVC Request Life Cycle

by Alex Wolf

Jun 3, 2015 / 2h 33m

2h 33m

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. Overview
  2. The Application and Request Life Cycle Events
  3. Working with Routing, HttpHandlers, and HttpModules
  4. Understanding Controller Initialization
  5. Action Method Execution
  6. Exploring Action Results and the View Engine

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?
  2. Building a Simple OWIN Pipeline
  3. Creating Middleware with OWIN
  4. Integrating Frameworks
  5. Securing OWIN Pipelines
  6. Integrating Social Media Authentication
  7. Hosting an OWIN Pipeline


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 Web API

by Shawn Wildermuth

Mar 25, 2019 / 2h 43m

2h 43m

Start Course

Building APIs can be a challenge for many web developers but with ASP.NET Web API, this process can be simplified. In this course, Building an API with ASP.NET Web API, you will learn foundational knowledge and gain the ability to implement and build your own API's. First, you will learn and understand the role of Functional APIs in larger systems. Next, you will discover how to build association APIs to make obvious, self-documenting APIs. Finally, you will explore how to implement a complete API using Web API. By the end of this course, you’ll know how to implement a complete, maintainable API using ASP.NET Web API.

Table of contents
  1. Course Overview
  2. Pragmatic REST
  3. Your First API
  4. Modify Data
  5. Associations in APIs
  6. Functional APIs
  7. Versioning Your API

Rebuilding Web Forms Applications in MVC

by Alex Wolf

Apr 12, 2016 / 3h 50m

3h 50m

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 Overview
  2. Putting Web Forms and MVC in Perspective
  3. Request Management
  4. Designing with Layouts and Views
  5. Working with Forms
  6. Implementing Data Validation
  7. Understanding Partial Views and Child Actions
  8. Enhancing the Application with Ajax
  9. Working with Data

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. Overview
  2. Improving Application Responses with Custom Action Results
  3. Organizing Application Flow with Action Filters
  4. Keeping Your Razor Code Clean with HTML Helpers
  5. Enabling Theme Support with a Custom View Engine
  6. Improving Error Handling with Custom Exception Filters
  7. Extending Validation to Improve Data Integrity
  8. Extending Data Binding with Custom Model Binders
  9. Improving Data Availability with Custom Value Providers
  10. Customizing Security Using Authentication Filters
  11. Influencing Action Method Execution Using Custom Selectors

Consolidating MVC Views Using Single Page Techniques

by Paul D. Sheriff

Oct 9, 2015 / 2h 30m

2h 30m

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 Techniques
  2. List and Search Data Using MVVM, MVC5, and Bootstrap
  3. Add and Validate Data with Data Annotations, MVVM, and MVC 5
  4. Modify & Delete Data Using Hidden Fields and Data Dash Attributes
  5. Reusability Using a View Model Base Class


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

Domain-Driven Design Fundamentals

by Julie Lerman

Jun 25, 2014 / 4h 17m

4h 17m

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 DDD
  2. DDD: Modeling Problems in Software
  3. Elements of a Domain Model
  4. Aggregates in Domain-Driven Design
  5. Repositories
  6. Domain Events and Anti-corruption Layers
  7. Reaping the Benefits of Domain-Driven Design

Domain-Driven Design in Practice

by Vladimir Khorikov

Jan 21, 2016 / 4h 20m

4h 20m

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. Introduction
  2. Starting with the First Bounded Context
  3. Introducing UI and Persistence Layers
  4. Extending the Bounded Context with Aggregates
  5. Introducing Repositories
  6. Introducing the Second Bounded Context
  7. Working with Domain Events
  8. Looking Forward to Further Enhancements

Build Your Own Application Framework with ASP.NET MVC 5

by Matt Honeycutt

Mar 13, 2014 / 3h 26m

3h 26m

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?"
  2. The Power of an Inversion of Control Container
  3. Optimize Your Controller Layer
  4. Optimize Your View Layer
  5. Optimize Your JavaScript

Getting Started with ASP.NET SignalR

by Roland Guijt

May 16, 2019 / 1h 2m

1h 2m

Start Course

Real-time web functionality is almost a must when developing a web app nowadays. In this course, Getting Started with ASP.NET SignalR, you will not only learn how the real-time web works, but also how to implement it using the greatest real-time web framework available. First, you will explore real-time web in general and about the low-level transports SignalR uses: WebSockets, Server Sent Events (SSE), and long polling. Next, you will learn about the SignalR concepts and the ways SignalR uses the underlying transports to do Remote Procedure Call (RPC) by utilizing Hubs and how to create javaScript and .NET clients for them. Finally, you will see what the challenges are when scaling out and how to implement an example application step by step and deploy it to Azure. When you're done watching this course, you can go full speed ahead with developing real-time web applications!

Table of contents
  1. Course Overview
  2. Starting with SignalR
  3. Working with Hubs
  4. Writing Clients
  5. Hosting, Deploying, and Scaling a SignalR App
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 providing my phone number to Pluralsight and toggling this feature on, I agree and acknowledge that Pluralsight may use that number to contact me for marketing purposes, including using autodialed or pre-recorded calls and text messages. I understand that consent is not required as a condition of purchase from Pluralsight.

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

I agree, activate benefit