Navigate to main content

ASP.NET MVC websites

The new Model View Controller software to enable the building of the most modern feature rich websites and web applications.

ASP.NET MVC is a part of the ASP.NET Web application framework. It is one of the two different programming models you can use to create ASP.NET Web applications,the other being ASP.NET Web Forms. An MVC Application is designed and implemented using the following three attributes

  • Model: The model contains the core information for an application. This includes the data and validation rules as well as data access and aggregation logic.
  • View: The view encapsulates the presentation of the application, and in ASP.NET this is typically the HTML mark-up.
  • Controller: The controller contains the control-flow logic. It interacts with the Model and Views to control the flow of information and execution of the application.

This separation of entity allows you to have nimbleness and flexibility in building and maintaining your application. For example, by separating the views, you can iterate on the appearance of your application without touching on any of the core business logic. You can also separate work by role, so that, for example designers can work on the views, while developers work on the model. ASP.NET MVC brings the power of this development paradigm to ASP.NET development, allowing you to use your .NET development skills to build MVC applications. It gives you

  • Complete control over your HTML Markup
  • Enables rich AJAX and jQuery integration
  • Allows you to create SEO-friendly URLs for your site
  • Makes Test Driven Development (TDD) easy ASP.NET

ASP.NET MVC 5 is available as a standalone framework that can be used with ASP.NET 4.5.1 and Visual Studio 2015. ASP.NET MVC 5 is also available through the installation of Visual Studio 2015 and can be used with ASP.NET 5. For an overview of what is new in ASP.NET MVC 5 please see our What�s new in ASP.NET MVC 5 document and refer to Scott Guthrie�s blog series on ASP.NET MVC 5.

  • Areas: Allow you to organize your application in multiple logical pieces to improve the team collaboration and development process.
  • UI Helpers: You can ensure more maintainability as you modify your applications using strongly-typed helpers such as Html.TexBoxFor. The new templated helpers let you easily associate HTML elements for edit and display with data types improving productivity.
  • Asynchronous controllers: Allows you to improve the throughput of your Web applications without blocking threads on expensive, long running resource calls.
  • Server-side validation: Allows you to use the declarative data annotations to define validation rules on your model.
  • Client-side validation: Automatically generates client-side validators based upon the annotations on your model.