Chapter 1. High-speed beginner ramp-up
1.3. Creating your first ASP.NET MVC 2 project
1.4. Creating controllers and actions
2.2. Delivering the presentation model
2.5. More complex models for both display and input
3.2. Examining the ViewDataDictionary
3.3. Strongly typed views with a view model
3.4. Displaying view model data in a view
3.5. Using strongly typed templates
4.1. The anatomy of a controller
4.2. Storyboarding an application
4.3. Transforming a model to a view model
4.4.1. Handling the successful storyboard path in an action
4.5.1. Testing the RedirectController
4.5.2. Making dependencies explicit
Chapter 5. Consuming third-party components
5.1. The MvcContrib Grid component
Chapter 6. Hosting ASP.NET MVC applications
6.4. Deploying to IIS 6 and earlier
6.4.1. Configuring routes to use the .aspx extension
6.4.2. Configuring routes to use a custom extension
Chapter 7. Leveraging existing ASP.NET features
7.4. Implementing personalization and localization
8.1. Understanding the basics of domain-driven design
Chapter 9. Extending the controller
9.3. Action, authorization, and result filters
9.5. Using action results to reduce complexity
9.5.1. Removing duplication with an action result
9.5.2. Using action results to abstract hard-to-test dependencies
Chapter 10. Advanced view techniques
10.1. Eliminating duplication in the view
10.2. Building query-string parameter lists
10.3. Exploring the Spark view engine
11.1. Authentication and authorization
11.1.1. Requiring authentication with AuthorizeAttribute
11.2. Cross-site scripting (XSS)
11.3. Cross-site request forgery (XSRF)
Chapter 12. Ajax in ASP.NET MVC
12.1. Diving into Ajax with an example
12.2. Ajax with ASP.NET Web Forms
12.3.2. Implementing the Hijax technique
12.3.4. Adding alternate view formats to the controller
Chapter 13. Controller factories
13.1. What are controller factories?
13.2. Creating a custom controller factory
13.3. Enabling dependency injection in your controllers
13.4. Creating a StructureMap controller factory
13.5. Creating a Ninject controller factory
Chapter 14. Model binders and value providers
14.1. Creating a custom model binder
15.1. Validation with Data Annotations
15.2. Extending the ModelMetadataProvider
16.2.1. Make simple, clean URLs
16.2.3. Allow URL parameters to clash
16.3. Implementing routes in ASP.NET MVC
16.3.1. URL schema for an online store
16.3.2. Adding a custom static route
16.4. Using the routing system to generate URLs
Chapter 17. Deployment techniques
17.1. Employing continuous integration
17.2. Enabling push-button XCOPY deployments
17.3. Managing environment configurations
Chapter 18. Mapping with AutoMapper
18.3.1. AutoMapper Initialization
Chapter 19. Lightweight controllers
19.1. Why lightweight controllers?
19.2. Managing common view data
Chapter 20. Full system testing
20.1. Testing the user interface layer
20.1.1. Installing the testing software
Chapter 21. Organization with areas
22.1. Understanding the portable area
22.3. Consuming portable areas
22.4. Creating an RSS widget with a portable area
22.5. Distributing the RssWidget
Chapter 23. Data access with NHibernate
23.1. Functional overview of reference implementation
23.2. Application architecture overview
23.3. Domain model—the application core
23.4. NHibernate configuration—infrastructure of the application
23.4.1. NHibernate’s configuration
4. Cross-cutting advanced topics
24.1. Extending the routing system
Chapter 25. Customizing Visual Studio for ASP.NET MVC
25.1. Creating custom T4 templates
25.2. Adding a custom test project template to the new project wizard
Chapter 27. Recipe: creating an autocomplete text box