--- uid: mvc/overview/older-versions-1/index title: "Older Versions - MVC 1 and 2 | Microsoft Docs" author: rick-anderson description: "Resources for learning how to program MVC 1 and 2." ms.author: riande ms.date: 10/10/2014 ms.assetid: 1506f70f-6919-45bd-8c75-a17aff77510c msc.legacyurl: /mvc/overview/older-versions-1 msc.type: chapter --- Older Versions - MVC 1 and 2 ==================== > Resources for learning how to program MVC 1 and 2. - [Overview](overview/index.md) - [ASP.NET MVC Overview](overview/asp-net-mvc-overview.md) - [Understanding the ASP.NET MVC Execution Process](overview/understanding-the-asp-net-mvc-execution-process.md) - [Understanding Models, Views, and Controllers (C#)](overview/understanding-models-views-and-controllers-cs.md) - [Understanding Models, Views, and Controllers (VB)](overview/understanding-models-views-and-controllers-vb.md) - [Getting Started With MVC](getting-started-with-mvc/index.md) - [Intro to ASP.NET MVC](getting-started-with-mvc/getting-started-with-mvc-part1.md) - [Adding a Controller](getting-started-with-mvc/getting-started-with-mvc-part2.md) - [Adding a View](getting-started-with-mvc/getting-started-with-mvc-part3.md) - [Creating a Database](getting-started-with-mvc/getting-started-with-mvc-part4.md) - [Accessing your Model's Data from a Controller](getting-started-with-mvc/getting-started-with-mvc-part5.md) - [Adding a Create Method and Create View](getting-started-with-mvc/getting-started-with-mvc-part6.md) - [Adding Validation to the Model](getting-started-with-mvc/getting-started-with-mvc-part7.md) - [Adding a Column to the Model](getting-started-with-mvc/getting-started-with-mvc-part8.md) - [Models (Data)](models-data/index.md) - [Creating Model Classes with the Entity Framework (C#)](models-data/creating-model-classes-with-the-entity-framework-cs.md) - [Creating Model Classes with LINQ to SQL (C#)](models-data/creating-model-classes-with-linq-to-sql-cs.md) - [Displaying a Table of Database Data (C#)](models-data/displaying-a-table-of-database-data-cs.md) - [Performing Simple Validation (C#)](models-data/performing-simple-validation-cs.md) - [Validating with the IDataErrorInfo Interface (C#)](models-data/validating-with-the-idataerrorinfo-interface-cs.md) - [Validating with a Service Layer (C#)](models-data/validating-with-a-service-layer-cs.md) - [Validation with the Data Annotation Validators (C#)](models-data/validation-with-the-data-annotation-validators-cs.md) - [Creating Model Classes with the Entity Framework (VB)](models-data/creating-model-classes-with-the-entity-framework-vb.md) - [Creating Model Classes with LINQ to SQL (VB)](models-data/creating-model-classes-with-linq-to-sql-vb.md) - [Displaying a Table of Database Data (VB)](models-data/displaying-a-table-of-database-data-vb.md) - [Performing Simple Validation (VB)](models-data/performing-simple-validation-vb.md) - [Validating with the IDataErrorInfo Interface (VB)](models-data/validating-with-the-idataerrorinfo-interface-vb.md) - [Validating with a Service Layer (VB)](models-data/validating-with-a-service-layer-vb.md) - [Validation with the Data Annotation Validators (VB)](models-data/validation-with-the-data-annotation-validators-vb.md) - [ASP.NET MVC Views](views/index.md) - [ASP.NET MVC Views Overview (C#)](views/asp-net-mvc-views-overview-cs.md) - [Creating Custom HTML Helpers (C#)](views/creating-custom-html-helpers-cs.md) - [TagBuilder Class to Build HTML Helpers (C#)](views/using-the-tagbuilder-class-to-build-html-helpers-cs.md) - [Creating Page Layouts with View Master Pages (C#)](views/creating-page-layouts-with-view-master-pages-cs.md) - [Passing Data to View Master Pages (C#)](views/passing-data-to-view-master-pages-cs.md) - [ASP.NET MVC Views Overview (VB)](views/asp-net-mvc-views-overview-vb.md) - [Creating Custom HTML Helpers (VB)](views/creating-custom-html-helpers-vb.md) - [TagBuilder Class to Build HTML Helpers (VB)](views/using-the-tagbuilder-class-to-build-html-helpers-vb.md) - [Creating Page Layouts with View Master Pages (VB)](views/creating-page-layouts-with-view-master-pages-vb.md) - [Passing Data to View Master Pages (VB)](views/passing-data-to-view-master-pages-vb.md) - [Controllers and Routing](controllers-and-routing/index.md) - [ASP.NET MVC Routing Overview (C#)](controllers-and-routing/asp-net-mvc-routing-overview-cs.md) - [Understanding Action Filters (C#)](controllers-and-routing/understanding-action-filters-cs.md) - [Improving Performance with Output Caching (C#)](controllers-and-routing/improving-performance-with-output-caching-cs.md) - [Adding Dynamic Content to a Cached Page (C#)](controllers-and-routing/adding-dynamic-content-to-a-cached-page-cs.md) - [Creating a Controller (C#)](controllers-and-routing/creating-a-controller-cs.md) - [Creating an Action (C#)](controllers-and-routing/creating-an-action-cs.md) - [ASP.NET MVC Routing Overview (VB)](controllers-and-routing/asp-net-mvc-routing-overview-vb.md) - [Understanding Action Filters (VB)](controllers-and-routing/understanding-action-filters-vb.md) - [Improving Performance with Output Caching (VB)](controllers-and-routing/improving-performance-with-output-caching-vb.md) - [Adding Dynamic Content to a Cached Page (VB)](controllers-and-routing/adding-dynamic-content-to-a-cached-page-vb.md) - [Creating a Controller (VB)](controllers-and-routing/creating-a-controller-vb.md) - [Creating an Action (VB)](controllers-and-routing/creating-an-action-vb.md) - [ASP.NET MVC Controller Overview (C#)](controllers-and-routing/aspnet-mvc-controllers-overview-cs.md) - [Creating Custom Routes (C#)](controllers-and-routing/creating-custom-routes-cs.md) - [Creating a Route Constraint (C#)](controllers-and-routing/creating-a-route-constraint-cs.md) - [Creating a Custom Route Constraint (C#)](controllers-and-routing/creating-a-custom-route-constraint-cs.md) - [ASP.NET MVC Controller Overview (VB)](controllers-and-routing/asp-net-mvc-controller-overview-vb.md) - [Creating Custom Routes (VB)](controllers-and-routing/creating-custom-routes-vb.md) - [Creating a Route Constraint (VB)](controllers-and-routing/creating-a-route-constraint-vb.md) - [Creating a Custom Route Constraint (VB)](controllers-and-routing/creating-a-custom-route-constraint-vb.md) - [Deployment](deployment/index.md) - [Using ASP.NET MVC with Different Versions of IIS (C#)](deployment/using-asp-net-mvc-with-different-versions-of-iis-cs.md) - [Using ASP.NET MVC with Different Versions of IIS (VB)](deployment/using-asp-net-mvc-with-different-versions-of-iis-vb.md) - [Security](security/index.md) - [Authenticating Users with Forms Authentication (C#)](security/authenticating-users-with-forms-authentication-cs.md) - [Authenticating Users with Windows Authentication (C#)](security/authenticating-users-with-windows-authentication-cs.md) - [Preventing JavaScript Injection Attacks (C#)](security/preventing-javascript-injection-attacks-cs.md) - [Authenticating Users with Forms Authentication (VB)](security/authenticating-users-with-forms-authentication-vb.md) - [Authenticating Users with Windows Authentication (VB)](security/authenticating-users-with-windows-authentication-vb.md) - [Preventing JavaScript Injection Attacks (VB)](security/preventing-javascript-injection-attacks-vb.md) - [Unit Testing](unit-testing/index.md) - [Creating Unit Tests for ASP.NET MVC Applications (C#)](unit-testing/creating-unit-tests-for-asp-net-mvc-applications-cs.md) - [Creating Unit Tests for ASP.NET MVC Applications (VB)](unit-testing/creating-unit-tests-for-asp-net-mvc-applications-vb.md) - [Contact Manager](contact-manager/index.md) - [Iteration #1 – Create the Application (C#)](contact-manager/iteration-1-create-the-application-cs.md) - [Iteration #2 – Make the application look nice (C#)](contact-manager/iteration-2-make-the-application-look-nice-cs.md) - [Iteration #3 – Add form validation (C#)](contact-manager/iteration-3-add-form-validation-cs.md) - [Iteration #4 – Make the application loosely coupled (C#)](contact-manager/iteration-4-make-the-application-loosely-coupled-cs.md) - [Iteration #5 – Create unit tests (C#)](contact-manager/iteration-5-create-unit-tests-cs.md) - [Iteration #6 – Use test-driven development (C#)](contact-manager/iteration-6-use-test-driven-development-cs.md) - [Iteration #7 – Add Ajax functionality (C#)](contact-manager/iteration-7-add-ajax-functionality-cs.md) - [Iteration #1 – Create the Application (VB)](contact-manager/iteration-1-create-the-application-vb.md) - [Iteration #2 – Make the application look nice (VB)](contact-manager/iteration-2-make-the-application-look-nice-vb.md) - [Iteration #3 – Add form validation (VB)](contact-manager/iteration-3-add-form-validation-vb.md) - [Iteration #4 – Make the application loosely coupled (VB)](contact-manager/iteration-4-make-the-application-loosely-coupled-vb.md) - [Iteration #5 – Create unit tests (VB)](contact-manager/iteration-5-create-unit-tests-vb.md) - [Iteration #6 – Use test-driven development (VB)](contact-manager/iteration-6-use-test-driven-development-vb.md) - [Iteration #7 – Add Ajax functionality (VB)](contact-manager/iteration-7-add-ajax-functionality-vb.md) - [NerdDinner](nerddinner/index.md) - [Introducing the NerdDinner Tutorial](nerddinner/introducing-the-nerddinner-tutorial.md) - [Create a New ASP.NET MVC Project](nerddinner/create-a-new-aspnet-mvc-project.md) - [Create a Database](nerddinner/create-a-database.md) - [Build a Model with Business Rule Validations](nerddinner/build-a-model-with-business-rule-validations.md) - [Use Controllers and Views to Implement a Listing/Details UI](nerddinner/use-controllers-and-views-to-implement-a-listingdetails-ui.md) - [Provide CRUD (Create, Read, Update, Delete) Data Form Entry Support](nerddinner/provide-crud-create-read-update-delete-data-form-entry-support.md) - [Use ViewData and Implement ViewModel Classes](nerddinner/use-viewdata-and-implement-viewmodel-classes.md) - [Re-use UI Using Master Pages and Partials](nerddinner/re-use-ui-using-master-pages-and-partials.md) - [Implement Efficient Data Paging](nerddinner/implement-efficient-data-paging.md) - [Secure Applications Using Authentication and Authorization](nerddinner/secure-applications-using-authentication-and-authorization.md) - [Use AJAX to Deliver Dynamic Updates](nerddinner/use-ajax-to-deliver-dynamic-updates.md) - [Use AJAX to Implement Mapping Scenarios](nerddinner/use-ajax-to-implement-mapping-scenarios.md) - [Enable Automated Unit Testing](nerddinner/enable-automated-unit-testing.md) - [NerdDinner Wrap Up](nerddinner/nerddinner-wrap-up.md) - [Movie Database](movie-database/index.md) - [Create a Movie Database Application in 15 Minutes with ASP.NET MVC (C#)](movie-database/create-a-movie-database-application-in-15-minutes-with-asp-net-mvc-cs.md) - [Create a Movie Database Application in 15 Minutes with ASP.NET MVC (VB)](movie-database/create-a-movie-database-application-in-15-minutes-with-asp-net-mvc-vb.md)