Over a million developers have joined DZone.

Introduction to ASP.NET MVC

DZone 's Guide to

Introduction to ASP.NET MVC

Free Resource


ASP.NET MVC is an open source platform for building web applications using the MVC architecture introduced by Microsoft. MVC is nothing but Model-View-Controller and initially was called by the name “Thing-Model-View-Editor".

Figure: Model-View-Controller

The MVC design pattern is defined in three layers like Model, View and Controller.

  • Model: It is a collection of classes or library files for the business layer with a specific domain functionality. The business layer contains a set of business rules, entities and components for data manipulation purposes.
  • View: It is a representation of an application user interface (in other words Presentation layer).
  • Controller: It is a collection of classes that handle interaction from the user request and the response to display the information to the view. 

Microsoft first released the ASP.NET MVC1 and included code development and Test Driven Development (TDD) like unit tests.

Microsoft's second release of the ASP.NET MVC2 provides automatic scaffolding with customizable templates, attribute-based model validation on both client & server and strongly typed HTML helpers.

Microsoft's third release of the ASP.NET MVC3 provides a Razor view engine, data annotation and improved model validation, flexibility, dependency resolutions, global actions filters, support JavaScript, jQuery validation, JSON binding and NuGet.

Microsoft came up with ASP.NET MVC4 that provides ASP.NET WebAPI, default project templates, Mobile project template using jQuery Mobile and so on.

Microsoft later released ASP.NET MVC5 that provides One ASP.Net, ASP.NET Identity, Bootstrap and Authentication Filters and attribute routing.

ASP.NET MVC Evolution Table






  • I will update the list of new features soon



  • One ASP.NET
  • ASP.NET Identity
  • Support Bootstrap CSS
  • Authentication Filters with filter overrides
  • Attribute Routing
  • Support Separation
  • Easily testable (in other words Test Driven Development (TDD))
  • Support Concurrent Development
  • Interface based architecture



  • Provide default project template
  • Provide Mobile project template (in other words jQuery Mobile)
  • Support Asynchronous Controllers
  • Support binding



  • Razor view engine
  • Support Data Annotations
  • Fine-tune model validation
  • Flexibility
  • Provide Global action filters
  • Support JavaScript better performance



  • Support automatic scaffolding with customizable templates
  • Attribute based model validation
  • Strongly typed html helpers
  • Fine-tune Visual Studio Tooling
  • Fine-tune API and features



  • Baselined version introduced by Microsoft


This article helps to explain ASP.NET MVC and respective versions in Visual Studio.NET.


Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}