5 out of 8 rated this helpful - Rate this topic

ASP.NET MVC 4

The Model-View-Controller (MVC) pattern is an architectural design principle that separates the components of a Web application. This separation gives you more control over the individual parts of the application, which lets you more easily develop, modify, and test them.

ASP.NET MVC is part of the ASP.NET framework. Developing an ASP.NET MVC application is an alternative to developing ASP.NET Web Forms pages; it does not replace the Web Forms model.

You can get the most up-to-date version of the ASP.NET MVC framework from the ASP.NET MVC download page. For information about what is new in this release of MVC, see ASP.NET MVC 3 on the ASP.NET web site. For information about what is planned for ASP.NET MVC 4, see ASP.NET MVC 4 Roadmap.

Note Note

An earlier version of the MVC Framework (ASP.NET MVC 2) is also available. If you are working with an application that is specifically written to work with that version of the MVC framework, you can download ASP.NET MVC 2.

We suggest the following documentation to help you learn about ASP.NET MVC. Note the following conventions.

  • If an entry has no additional information, it's a link to documentation in the MSDN Library.

  • If an entry is followed by a name, it indicates that the link is for a blog entry in the specified person's blog.

  • Links that are not explicitly labeled as videos, samples, or other special content are articles or blog entries, as noted earlier.

  • A separate list of video resources is provided at the end of this document for convenience. (The list includes videos that are listed in the table.)

Scenario

Topics

Getting started with ASP.NET MVC

Intro to ASP.NET MVC 3

Introduction to ASP.NET MVC 3 (video by Pluralsight)

ASP.NET MVC Overview

Introducing ASP.NET MVC 3 (Scott Guthrie)

Getting Started with ASP.NET MVC

ASP.NET MVC 3 Overview

Creating a MVC 3 Application with Razor and Unobtrusive JavaScript

ASP.NET MVC from Basics to Tips and Tricks (Michael Johnson)

Tips on getting your ASP.NET MVC questions answered quickly (Rick Anderson)

Migrate to ASP.NET MVC 3 by leveraging your ASP.NET Web Forms skills (Rachel Appel)

ASP.NET MVC 3 Roundup of Tutorials, Videos, Labs, and other Assorted Training Materials (Jon Galloway)

Working with the Entity Framework

Intro to ASP.NET MVC 3

Working with Data: Entity Framework (video by Pluralsight)

Creating an Entity Framework Data Model for an ASP.NET MVC Application (Downloadable sample on the MSDN Code Sample Gallery)

Building a relational data model in ASP.NET MVC 3 w/EF Code First (Rachel Appel)

Round tripping a timestamp field with EF4.1 Code First and MVC 3 (Julie Lerman)

Get the Most out of WebGrid in ASP.NET MVC (article by Stuart Leeks in MSDN Magazine)

Handling Optimistic Concurrency Exceptions with EF and MVC 3 (Rick Anderson)

Working with Data: Validation and Mapping (video by Pluralsight)

Server-Side Paging with the Entity Framework and ASP.NET MVC 3 (Julie Lerman)

Working with views

ASP.NET MVC Razor Views (video by Pluralsight)

Dynamic Versus Strongly Typed Views (Rick Anderson)

Walkthrough: Using Templated Helpers to Display Data in ASP.NET MVC

Working with Edit/Display templates and the jQuery UI Popup Calendar

When to use ViewBag, ViewData, or TempData in ASP.NET MVC 3 applications (Rachel Appel)

When to use ViewBag, ViewData, or TempData in ASP.NET MVC 3 applications (Rachel Appel)

ASP.NET MVC: Partial rendering and AjaxAttribute (Stuart Leeks)

Creating an ASP.NET MVC View by Calling Multiple Actions

Creating Page Layouts with View Master Pages (tutorial on the ASP.NET Web site)

Understanding models, views, and controllers

ASP.NET MVC Controllers (video by Pluralsight)

What is an ActionResult? (Rachel Appel)

Views and UI Rendering in ASP.NET MVC Applications

Controllers and Action Methods in ASP.NET MVC Applications

When to use ViewBag, ViewData, or TempData in ASP.NET MVC 3 applications (Rachel Appel)

Use ViewModels to manage data & organize code in ASP.NET MVC applications (Rachel Appel)

SessionLess Controllers in ASP.NET MVC 3 (David Hayden)

AsyncController v/s SessionLess Controller (Imran Baloch)

Using an Asynchronous Controller in ASP.NET MVC

Filtering in ASP.NET MVC

Working with models and binding

Understanding ASP.NET MVC Model Binding (article and downloadable code by Bipin Joshi on the DotNetSlackers site)

MVC Model Binding (Dino Esposito)

Model: The "M" in ASP.NET MVC (Dino Esposito)

What’s the Difference Between a Value Provider and Model Binder? (Phil Haack)

Creating an Entity Framework Data Model for an ASP.NET MVC Application

Input Validation vs. Model Validation in ASP.NET MVC

How to: Validate Model Data Using DataAnnotations Attributes

How to: Implement Remote Validation in ASP.NET MVC

Model Binding Precedence (forum post)

Walkthrough: Using MVC View Templates

Model Binding Decimal Values (Phil Haack)

Validation

How to: Implement Remote Validation in ASP.NET MVC

Working with Data: Validation and Mapping (video by Pluralsight)

How data annotations for ASP.NET MVC validation work (Rachel Appel)

Manual Validation with Data Annotations (K. Scott Allen)

Introducing Data Annotations Extensions (Scott Kirkland)

ASP.NET MVC – Display visual hints for the required fields in your model (Radu Enucă)

Custom Data Annotation Validator Part I : Server Code (K. Scott Allen)

Custom client validation (forum post)

Granular Request Validation in ASP.NET MVC 3 (Marcin Doboz)

Unobtrusive Client Validation in ASP.NET MVC 3 (Brad Wilson)

Compare Attribute in ASP.NET MVC 3 (Suprotim Agarwal)

Model-Level Validation in ASP.NET MVC 3 (Don Kiely)

Conditional Validation in ASP.NET MVC 3 (Simon Ince)

View Model versus Domain Entity Validation with MVC (Simon Ince)

Overriding Unobtrusive Client Side Validation Settings in ASP.NET MVC 3 (Imran Baloch)

Understanding ASP.NET MVC project structure

MVC Framework and Application Structure

Understanding MVC Application Execution

Walkthrough: Organizing an Application using Areas

Creating a Custom ASP.NET MVC Project Template (Phil Haack)

Bin Deploying ASP.NET MVC 3 (Phil Haack)

Compiling MVC Views In A Build Environment (Phil Haack)

Understanding URL routing in ASP.NET MVC

ASP.NET Routing

ASP.NET MVC Framework: URL Routing (Scott Guthrie)

ASP.NET MVC Routing Overview

ASP.NET Routing and ASP.NET MVC (Craig Stuntz)

RouteEvaluator For Unit Testing Routes

Route Debugging ASP.NET MVC applications with Glimpse (Scott Hanselman)

RouteDebugger 2.0 (Phil Haack)

How ASP.NET MVC Routing Works and its Impact on the Performance of Static Requests (Thomas Marquardt)

Techniques to Personalize Your URLs Using ASP.NET MVC (Dino Esposito)

Working with Razor syntax in ASP.NET MVC views

Introducing Razor (Scott Guthrie)

ASP.NET MVC Razor Views (video by Pluralsight)

Using ASP.NET MVC Razor Helpers (video by Jon Galloway)

Add IE 9 Pinned Sites, Dynamic Jump Lists & Notifications to MVC Razor Views (Rachel Appel)

Working with Edit/Display templates and the jQuery UI Popup Calendar

Partial views in ASP.NET MVC 3 w/the Razor view engine (Rachel Appel)

New @model keyword in Razor (Scott Guthrie)

Layouts with Razor (Scott Guthrie)

Server-Side Comments with Razor (Scott Guthrie)

Implicit and Explicit code nuggets with Razor (Scott Guthrie)

Layouts and Sections with Razor (Scott Guthrie)

Templated Razor Delegates (Phil Haack)

Defining Default Content for a Razor Layout Section (Phil Haack)

Changing Base Type Of A Razor View (Phil Haack)

Razor Layout (Justin Schwartzenberger)

Nested Layout Pages with Razor (Mike Brind)

Precompile your MVC Razor views using RazorGenerator (David Ebbo)

How WebMatrix, Razor, ASP.NET Web Pages and MVC fit together (David Ebbo)

Working with ASP.NET MVC 3 Razor Helpers and Templates (Dino Esposito)

Creating a MVC 3 Application with Razor and Unobtrusive JavaScript

Using Razor Pages with WebForms Master Pages (Matt Hawley)

Templates With Razor (Hugo Bonacci)

Using Razor Pages with WebForms Master Pages (Matt Hawley)

Working with form input and helpers

ASP.NET MVC - Cascading Dropdown Lists Tutorial (Radu Enuca)

Working with Edit/Display templates and the jQuery UI Popup Calendar

Get The Drop On ASP.NET MVC DropDownLists (Mike Brind)

ASP.NET MVC - Creating a DropDownList helper for enums (Stuart Leeks)

ASP.NET MVC – Extending the DropDownList to show the items grouped by a category (Radu Enucă)

Populate a HTML select list from a view model in MVC 3 (Justin Schwartzenberger)

ASP.NET MVC: Using ActionMethodSelectorAttribute to Handle Multiple Submit Buttons (Malcolm Sheridan)

Creating an improved ASP.NET MVC 3 Html.ImageActionLink (Tobias Hertkorn)

Helpers

Creating Custom HTML Helpers (tutorial on the ASP.NET Web site)

Start a MVC3 web site HtmlHelper library and use NuGet to install it in new projects (Justin Schwartzenberger)

User Controls and HTML Helpers (Dino Esposito)

Using ASP.NET MVC Razor Helpers (video by Jon Galloway)

Internationalization and localization

ASP.NET MVC Framework: URL Routing (Scott Guthrie)

ASP.NET MVC Routing Overview

ASP.NET Routing and ASP.NET MVC (Craig Stuntz)

Supporting ASP.NET MVC 3 Validation with Non-English Locales

ASP.NET MVC 3 Internationalization (Nadeem Afana)

Creating a Bilingual ASP.NET MVC3 Application (Keith Barrow)

ASP.NET MVC Localization (Michael K. Campbell)

Model Metadata and Validation Localization using Conventions (Phil Haack)

Using Ajax and jQuery in ASP.NET MVC applications

Working with Edit/Display templates and the jQuery UI Popup Calendar

Create User Friendly Date Fields with ASP.NET MVC EditorTemplates and jQueryUI (Rachel Appel)

Microsoft patterns & practices: Project Silk (downloadable sample project and documentation)

ASP.NET MVC 3: Integrating with the jQuery UI date picker and adding a jQuery validate date range validator (Stuart Leeks)

Get the Most out of WebGrid in ASP.NET MVC (Stuart Leeks MSDN Magazine feature)

Building a Twitter Live Search App with Knockout, jQuery and ASP.NET MVC 3 (Anders Fjeldstad)

Pragmatic JavaScript, jQuery and AJAX with Microsoft ASP.NET (video by Damian Edwards)

Save and retrieve Session data via Ajax using JQuery in an MVC 3 application (article and downloadable code by Justin Schwartzenberger on the DotNetSlackers site)

jQuery Templates with ASP.NET MVC (Hajan Selmani)

jQuery templates vs. MVC Partial Views (Nadeem Afana)

Mocking the jQuery Ajax Call in ASP.NET MVC 3 Music Store (Elijah Manor)

An early look at jQuery UI Grind in ASP.NET MVC – Data Model (Tomasz Pęczek)

AJAX and JavaScript with ASP.NET MVC 3 (video by Pluralsight)

Eagerly Performing ASP.NET MVC 3 Unobtrusive Client Side Validation (Imran Baloch)

Unobtrusive Client Side Validation with Dynamic Contents in ASP.NET MVC 3 (Imran Baloch)

Asp.NET MVC, Jquery and Razor – Cascading dropdown, retrieving partial views, Json send objects, handling errors (Andrei Ignat)

Working with Json in ASP.NET MVC, easily sending objects back and forth between server and client (Brandon Atkinson)

Build a dialog form to handle inline data edits using the jQuery UI library in a MVC 3 application (Justin Schwartzenberger)

ASP.NET MVC3 JSON decimal binding woes (Josh Bush)

JsonValueProviderFactory in ASP.NET MVC a3 (David Hayden)

Improved JavaScript Model Binding in ASP.NET MVC 3 Preview 1 (Malcolm Sheridan)

Using Translation Services within ASP.NET MVC 3 and jQuery (Malcolm Sheridan)

HTML5 and ASP.NET MVC applications

HTML5ify your ASP.NET MVC 3 applications (Rachel Appel)

Integrate Html5 Form in ASP.NET MVC (Kazi Manzur Rashid)

Microsoft patterns & practices: Project Silk (downloadable sample project and documentation)

Learn how to use Modernizr from the ASP.NET MVC3 Tools Update to store user data via HTML5 localStorage (Justin Schwartzenberger)

HTML5 Improvements with the ASP.NET MVC 3 Tools Update (Scott Guthrie)

Use HTML5 semantic tags to add new meaning to your MVC views (Rachel Appel)

Managing data in web applications with HTML5 Web Storage (Rachel Appel)

MVC and the HTML5 Application Cache (Dean Hume)

Overriding Unobtrusive Client Side Validation Settings in ASP.NET MVC 3 (Imran Baloch)

Filtering action methods

Filtering in ASP.NET MVC

Easily Add Performance Counters to Your MVC Application (Ben Grover)

Get to Know Action Filters in ASP.NET MVC 3 Using HandleError (G. Andrew Duthie)

Creating Custom Action Filters

How to: Create a Custom Action Filter

Conditional Filters in ASP.NET MVC 3 (Phil Haack)

FluentFilters for ASP.NET MVC 3 - Register global filters by specified conditions (Dmitry Antonenko)

Securing ASP.NET MVC applications

Securing your ASP.NET MVC 3 Application (Rick Anderson)

MVC 3 Security (video by Pluralsight)

How to Create an Intranet Site Using ASP.NET MVC

Preventing Security Development Errors: Lessons Learned at Windows Live by Using ASP.NET MVC

Better, Faster, Easier SSL testing for ASP.NET MVC & WebForms (Rick Anderson)

Preventing Javascript Encoding XSS attacks in ASP.NET MVC (Jon Galloway)

Hack Proofing Your Microsoft ASP.NET Web Forms and MVC Applications (video by Adam Tuliper)

Introducing System.Web.Providers - ASP.NET Universal Providers for Session, Membership, Roles and User Profile on SQL Compact and SQL Azure (Scott Hanselman)

ASP.NET MVC Ajax CSRF Protection With jQuery 1.5

Prevent Cross-Site Request Forgery (CSRF) using ASP.NET MVC’s AntiForgeryToken() helper

AuthorizeAttribute (API documentation)

Preventing JavaScript Injection (XSS) Attacks (tutorial on the ASP.NET Web site)

Preventing Cross-Site Request Forgery (CSRF) attacks (tutorial on the ASP.NET Web site)

SQL Injection (SQL Server 2008 Books Online)

How To: Protect From SQL Injection in ASP.NET (Book chapter from the Microsoft Patterns & Practices group)

Microsoft patterns & practices: Project Silk (downloadable sample project and documentation)

Improving ASP.NET MVC application performance

Easily Add Performance Counters to Your MVC Application (Ben Grover)

Profiling your website like a true Ninja (Sam Saffron)

Precompile your MVC Razor views using RazorGenerator (David Ebbo)

ASP.NET MiniProfiler from StackExchange rocks your world

OutputCacheAttribute class

ASP.NET MVC Performance Tips (Marcin Doboz)

Improving ASP.NET MVC Application Performance at MVCConf (Steve Smith)

Adding Dynamic Content to a Cached Page (tutorial on the ASP.NET Web site)

Testing SSL and HTTP Compression in your ASP.NET web sites with IIS Express (G. Andrew Duthie)

Why Web Performance Matters (video by Richard Campbell)

How ASP.NET MVC Routing Works and its Impact on the Performance of Static Requests (Thomas Marquardt)

mvc-mini-profiler

Testing ASP.NET MVC applications

Walkthrough: Using TDD with ASP.NET MVC

TDD and Unit Testing with ASP.NET MVC 3 (video by Pluralsight)

Unit test your MVC views using Razor Generator (David Ebbo)

Building Testable ASP.NET MVC Applications

Scaffolding Actions and Unit Tests with MvcScaffolding

Testing Routing and URL Generation in ASP.NET MVC

Unit Test Your Custom Routes (Stephen Walther)

Testing Routes In ASP.NET MVC (Phil Haack)

RouteEvaluator For Unit Testing Routes

Testing SSL and HTTP Compression in your ASP.NET web sites with IIS Express (G. Andrew Duthie)

Making the Most of ELMAH ASP.NET Error Logging (Michael K. Campbell)

Dependency Injection in ASP.NET MVC applications

Walkthrough: Using TDD with ASP.NET MVC

Dependency Injection with ASP MVC 3–Distilled and Simplified

Dependency Injection With ASP.NET HttpModules (Phil Haack)

Dependency Injection in MVC 3 Was Made Easier (Gil Fink)

Debugging ASP.NET MVC applications

Test your ASP.NET MVC or WebForms Application on IIS 7 in 30 seconds (Rick Anderson)

ASP.NET MVC Diagnostics Using NuGet (Phil Haack)

ELMAH (Error Logging Modules and Handlers) with SQL Server Compact (Scott Hanselman)

Debugging ASP.NET MVC applications with Glimpse (Scott Hanselman)

Deploying ASP.NET MVC applications

Configuration and Deployment with ASP.NET MVC 3 (video by Pluralsight)

Publishing to Web Deploy on a Windows 7 computer running IIS (Bilal Aslam)

Web Deployment Made Easy: Seriously (video by Michael Palermo)

Bin Deploying ASP.NET MVC 3 (Phil Haack)

Using ASP.NET MVC with Different Versions of IIS (tutorial on the ASP.NET Web site)

Bin deploy required dependencies for MVC 3 projects with Visual Studio 2010 SP1 (Justin Schwartzenberger)

Test your ASP.NET MVC or WebForms Application on IIS 7 in 30 seconds (Rick Anderson)

Best practices

MSDN Patterns & Practices introduces Project Silk, a web guidance project (Rachel Appel)

Microsoft patterns & practices: Project Silk (downloadable sample project and documentation)

Best Practices for ASP.NET MVC (ASP.NET UE Team)

ASP.NET MVC Best Practices (Part 1) (Kazi Manzur Rashid)

12 ASP.NET MVC Best Practices (Simone Chiaretta)

Supporting mobile pages in ASP.NET MVC

How To: Add Mobile Pages to Your ASP.NET Web Forms / MVC Application

Building Mobile Apps with WebMatrix and jQuery Mobile (Mike Brind)

How To: Add Mobile Pages to Your ASP.NET Web Forms / MVC Application

ASP.NET MVC Scaffolding

Ready, Set, Scaffold! Build ASP.NET MVC 3 Applications Quickly with MvcScaffolding (Rachel Appel)

ASP.NET MVC 3 project with the MvcScaffolding package (Steve Sanderson)

MvcScaffolding: Creating custom scaffolders (Steve Sanderson)

EF Code First and Data Scaffolding with the ASP.NET MVC 3 Tools Update (Scott Guthrie)

Cloud computing and ASP.NET MVC

How to Add MVC 3 Project Types to the Azure Cloud Service Wizard (Jason Haley)

ASP.NET MVC 3: Using AppFabric Access Control Service to authenticate users (Gunnar Peipman)

Prominent ASP.NET blogs that frequently include MVC information

Scott Guthrie on ASP.NET MVC

Phil Haack on ASP.NET MVC

Steve Sanderson on ASP.NET MVC

Scott Hanselman on ASP.NET MVC

Rachel Appel on ASP.NET MVC

Rick Anderson on ASP.NET MVC

Stuart Leeks on ASP.NET MVC

ASP.NET MVC 3 Tutorials Index (David Hayden)

Imran Baloch on ASP.NET MVC

Andrei Ignat on ASP.NET MVC

Additional resources

The history of ASP.NET MVC, so far (Simone Chiaretta)

Cleaning up POSTs in ASP.NET MVC (Jimmy Bogard)

Diving into ASP.NET MVC 3 Model Metadata Providers (Raj Aththanayake)

Fun With WebMatrix Helpers in ASP.NET MVC 3 (Steve Lydford)

Editing Variable Length Reorderable Collections in ASP.NET MVC (Ivan Zlatev)

Return any LINQ query as a CSV using ASP.NET MVC 3 (Brandon Atkinson)

Integrating ASP.NET MVC 3 into existing upgraded ASP.NET 4 Web Forms applications (Scott Hanselman)

Use MvcContrib Grid to Display a Grid of Data in ASP.NET MVC (Scott Mitchell)

Create an ASP.NET MVC application with Windsor and NHibernate at the speed of nuget (José F. Romaniello)

The MVC3 special sauce in POP Forums (Jeff Putz)

MVC3 and MEF (Matthew Abbott)

ASP.NET MVC 3: Using WebMail helper to send e-mail (Gunnar Peipman)

Search engine friendly URLs in ASP.NET MVC using dynamic routing and a SQL Server database (Lars-Erik Kindblad)

ExpandoObject and Views (Eric Ridgeway)

Getting started using Silverlight 4 in an ASP.NET MVC 3 application and accessing data with JSON (Justin Schwartzenberger)

ASP.NET GZip Encoding Caveats (Rick Strahl)

Start a MVC3 web site HtmlHelper library and use NuGet to install it in new projects (Justin Schwartzenberger)

The following video entries provide additional information about how to work with ASP.NET MVC 3. Some of these videos are listed earlier, but are listed here again for convenience.

Last updated August 1, 2011

Did you find this helpful?
(1500 characters remaining)