This course provides a practical hands-on introduction to developing Web applications using ASP.NET MVC 3 and C#. This new Web development framework from Microsoft emphasizes separation of concerns in the architecture and testability of applications. The course includes important new features in MVC 3 such as the Razor View Engine, MvcScaffolding, HTML 5 project templates, and more.
The course covers the fundamentals of the Model-View-Controller design pattern and its implementation in ASP.NET MVC. This technology is compared with classical ASP.NET Web Forms. The two technologies share a common ASP.NET infrastructure. Visual Studio 2010 is used as a productive platform for creating ASP.NET MVC applications. After presenting the fundamentals of the technology with several examples, the main components of Model, Controller and View are covered in detail. The discussion of the Model incorporates modern Microsoft data access technologies, including LINQ and ADO.NET Entity Framework 4.1. The routing mechanism of ASP.NET MVC is covered. The course introduces automated unit testing of Web applications, one of the chief advantages of the new technology. Security is covered, with some hands-on illustrations of attacks and defenses against them. The course includes a discussion of how ASP.NET MVC and Web Forms can be used together in the same application. The course concludes with coverage of deployment.