Course Overview
The Model View Controller Framework in ASP.NET provides a new way to develop Web applications for the Microsoft .NET platform. Differing completely from traditional ASP.NET development, ASP.NET MVC facilitates a refined code structure, total control over content generation and full support for test-driven development. In this hands-on course, you gain the skills required to effectively use ASP.NET MVC to build Web applications.
Delegates that attend a Microsoft training course are twice as productive/efficient/motivated than those that don't?
Related Courses
Audience
Anyone involved in the development of Web applications using Microsoft technology. Programming experience in C# or VB.NET at the level of Course 419, "C# Programming", or Course 503, "Visual Basic(R) 2008 Programming", and a fundamental knowledge of HTML is assumed.
Skills Gained
You Will Learn How To
- Build and deploy secure, scalable Web applications using the MVC framework in ASP.NET
- Develop powerful application controllers with practical URLs to ensure application robustness
- Produce a clean, maintainable code base using the Model View Controller (MVC) architecture
- Create flexible views for user interaction with view helpers
- Design rich user interfaces with AJAX and jQuery
- Secure applications using authentication and role-based authorisation
Hands-on Training
You gain hands-on experience building scalable Web applications with ASP.NET MVC. Exercises, completed in C# or VB.NET, include:
- Creating a clean application architecture with MVC
- Implementing robust controllers for smooth application flow
- Testing controllers and views with test-driven development
- Generating dynamic views with view helpers
- Validating user input with client and server-side rules
- Building richer user interfaces with AJAX and jQuery
- Restricting application access with role-based security
Course Outline
The MVC Framework in ASP.NET
Architecture of ASP.NET MVC
- Identifying the components of MVC
- Benefits of an MVC architecture
- Describing the MVC request processing cycle
Preparing the environment
- Installing ASP.NET MVC
- Structuring the project layout
- Integrating test-driven development
Orchestrating Application Requests with Controllers
Defining controller architecture
- Differentiating controller types
- Delegating request processing to actions
- Initiating the response with action results
- Handling special cases using viewless controllers
Enhancing functionality
- Intercepting request processing through action filtering
- Generating advanced operations by extending core controllers
- Decorating actions with additional behaviours
- Testing controllers outside of the server
Mapping URLs for Request Routing
Formatting the MVC URL
- Shortcomings of ASP.NET URLs
- Decoupling URLs from actions with routing
- Designing a URL schema to enforce consistency
Applying practical URL solutions
- Configuring static and dynamic routes
- Customising routing for search engine optimisation
- Verifying routing with test-driven development
Defining the Model
Navigating the model landscape
- Analysing the role of the model in different scenarios
- Constructing the N-tier architecture
- Improving application structure with dependency injection
Persisting the domain model
- Implementing the model classes with LINQ to SQL
- Insert, update and delete operations through LINQ
- Extracting model data for REST-based services with LINQ to XML
Generating the View
Rendering the response with MVC views
- Implementing dynamic views
- Streamlining the view structure with HTML helpers
- Creating custom HTML helpers
- Incorporating existing ASP.NET views into MVC applications
Collecting data with forms
- Accessing submitted data
- Assigning validation rules to input fields
- Client-side vs. server-side data validation
- Reporting errors
- Uploading files
Displaying complex data
- Representing datasets in a tabular format
- Building custom view components to handle diverse data
- Customising the view engine
Creating Responsive Interfaces with AJAX
The role of AJAX
- Building Web 2.0 functionality
- Benefiting from built-in support for AJAX
Leveraging the jQuery JavaScript library
- Bringing pages to life with jQuery
- Handling browser events asynchronously for faster responses
- Boost interactivity with special effects and animation
Communicating efficiently with JSON
- Serialising application data using JSON structures
- Developing JSON in controllers for AJAX
- Consuming JSON client-side in the view
Securing and Deploying the Application
Controlling access with authentication
- Managing Windows-based authentication
- Gathering user credentials with HTML-based forms
Restricting application access
- Shielding sensitive URLs
- Integrating role-based security
- Accessing user and role information in controllers
Packaging and distributing options
- Enhancing application performance with cache configuration
- Publishing the completed application