The best way to learn a new framework is to build something with it. This tutorial walks through how to build a small, but complete, application using ASP.NET MVC, and introduces some of the core concepts behind it.
The application we are going to build is called "NerdDinner". NerdDinner provides an easy way for people to find and organize dinners online:
NerdDinner enables registered users to create, edit and delete dinners. It enforces a consistent set of validation and business rules across the application:
Visitors to the site can search to find upcoming dinners being held near them:
Clicking a dinner will take them to a details page where they can learn more about it:
If they are interested in attending the dinner they can login or register on the site:
They can then easily RSVP to attend the event:
We are going to begin implementing the NerdDinner application by using the File->New Project command within Visual Studio to create a brand new ASP.NET MVC project. We'll then incrementally add functionality and features. Along the way we'll cover how to create a database, build a model with business rule validations, implement data listing/details UI, provide CRUD (Create, Update, Delete) form entry support, implement efficient data paging, reuse UI using master pages and partials, secure the application using authentication and authorization, use AJAX to deliver dynamic updates and interactive map support, and implement automated unit testing.
You can build your own copy of NerdDinner from scratch by completing each step we walkthrough in this chapter. Alternatively, you can download a completed version of the source code here: http://nerddinner.codeplex.com/.
You can use either Visual Studio 2008 or the free Visual Web Developer 2008 Express to build the application. You can use either SQL Server or the free SQL Server Express to host the database.
You can install ASP.NET MVC, Visual Web Developer 2008, and SQL Server Express using the Microsoft Web Platform Installer available here: http://www.microsoft.com/web/downloads