Developing Web Applications Using ASP .NET MVC

Duration: 2 days
Type: intermediate

Description

This course enables .NET developers to develop Web Applications using ASP .NET MVC

Since the creation of the .NET framework the recommended method for developing Web Applications has been ASP .NET Web Controls. However extending the controls metaphor to the Web has not been a complete success. Although controls enable rich user interfaces they can lead to peformance problems, increased network traffic and designs that lack clear divisions between architectural layers.

The ASP .NET MVC Framework is a new approach to Web Application development, which builds on top of the existing server page infrastructure but dispenses with Web Controls. It enables a clean separation between presentation code and business logic, leading to faster development, layered architectures and components that can be unit tested.

This course provides existing developers with all the information they need to start developing ASP .NET MVC based Web Applications. The delivery is workshop based, with developers enhancing a sample application as the course progresses.

Prerequisites

Delegates must be C# developers who are familiar with conventional ASP .NET based Web Applications. Experience with Visual Studio 2008 and AJAX is helpful but not essential.

List of Modules

The Evolution of ASP .NET MVC

Advantages and disadvantages of Web Controls
Drawbacks of the Model-View-Presenter pattern
Differentiating Web Controls from the ASP .NET infrastructure
Alternative approaches to Web Application frameworks
How ASP .NET MVC evolved as a separate product

Creating a Simple MVC Web Application

How incoming requests are routed to controllers
Declaring controllers and business methods
Capturing information from request parameters
Building and returning ActionResult objects
How an ActionResult is mapped to a view
Options for passing model information into server pages
Creating output pages using the Html helper class

Making the Web Application Maintainable

Hiding data sources using the Data Access Object Pattern
Simplifying persistence logic using the Repository Pattern
Writing Unit Tests for DAO's and Controller classes
Writing Integration and Acceptance tests

Enhancing the Web Application

Customizing the routing information in Global.asax
Associating methods with request types via AcceptVerbs
Processing form parameters using Value Objects
Validating parameters and displaying error messages
Creating Controller Factories which perform Dependency Injection
Adding support for AJAX to server pages

Combining MVC with Other Frameworks

Using jQuery to simplify server pages
Using LINQ to enhance Data Access Objects
Writing DAO's using NHibernate and Generics
Using Unity and Spring .NET to build controllers
Creating your own View Resolvers