Special Notices
Please note: for Attend from Anywhere customers an additional screen is required. The additional screen must have a minimum screen size of 19 inch and minimum resolution of 1280x1024, with the vertical resolution (1024) being the most critical.
The course takes existing .NET developers and provides them with the necessary skills to develop modern MVC-5 web-based applications, using Visual Studio 2017 and the ASP.NET Framework 4.7.1. This course prepares delegates for the MVC part of Exam 70-486.
Select specific date to see price, venue and full details.
Pre-Requisites
Delegates should have basic knowledge of HTML and web page creation using JavaScript and CSS. These skills can be obtained by attending the Building an Effective Web Site course
- Delegates should have existing knowledge of at least C#4 (ie LINQ/Lambdas) and have worked with the .NET Framework for 3 months minimum. (VB.NET delegates should be comfortable reading C#).
- Delegates without these skills would benefit from attending the C# programming language course.
- Delegates are not required to have any experience in ASP.NET WebForms development.
Please note: Before attending this class delegates must have a Microsoft account (signing up one is free). The instructions on how to set up a Microsoft account can be found here.
Course Content
Module 1: Web Basics
- The MVC Pattern
- Models, Views, and Controllers ASP.NET MVC Conventions MVC5 Project structure
- Visual Studio 2017 support
- Nuget
Lab:
- Creating an ASP.NET MVC 5 project using Visual Studio 2017
- Have gained a high-level overview of how to build an MVC-5 application
- The main features of Entity Framework
- CodeFirst / CodeFirst from Database
- Lazy / Eager / Explicit loading
- Linq To Entities
- Initialization and Migration
- Using Stored Procs
Labs:
- CodeFirst and loading options
- (Optional) Initialization and Migration
- Know the different strategies available in Entity Framework
- Know how and when to use Initialization and Migration
- Modelling Data
- Querying data using LINQ
- Using a Repository
Lab:
- Creating Models using the Entity Framework and the Repository/UnitOfWork pattern.
- What is a controller? Action and parameters
- Returning Results from Actions Passing data to views Asynchronous Actions Processing HTTP Forms
Lab:
- Building controller classes
- Understand the role of the controller
- Be able to write Actions to process requests
- Using views and partial views Razor
- Layout pages Using data in views
- Strongly Typed Views
- The HTML Helper methods
Lab:
- Implementing views and partial views
- Be able to use the Razor engine to render views and partial views.
- Create master layout pages for a consistent look and feel.
- Use Helper methods to generate client side mark-up.
- Know how to access model data from within Views
- Bootstrap getting started
- Bundling and Minification
- Bootstraps responsive design
- Bootstrap components
- Styling webpages with Bootstrap
- Know how to use the Bootstrap UI Framework
- Be able to create mobile-first responsive web pages
- Model Binding
- The model binding lab is included in the following chapter
- Data Annotations and Validation Attributes Preventing JavaScript Injection attacks
- Model Validation
- Understand the Model Binding process.
- Be able to use Data Annotations and Validation attributes within model classes
- Error handling
- Exception bubbling
- The default error page
- Error filters
- Error handling
- Provide custom error handling for a MVC application.
- What are Action Filters? Types of Action Filter Using Action Filters
- Creating Custom Action Filters Adding global filters
- Using Action Filters
- What are routes? Defining and using routes
- Convention-based Routing Attribute-based Routing
- Configuring and de-bugging routes
- Understand the purpose of routes.
- Know how to add literals and constraints to routes.
- Know the benefit of Areas.
Module 13: Web API 2
- WCF v. Web API2
- The HTTP Protocol Content negotiation Web API2 Controllers Routing
- Error handling
Lab:
- Creating and calling Web API Services
- Understand the Web API framework
- Learn about the HTTP requests and responses
- Know how to create a Web API
- Be able to consume a Web API from a variety of devices
- State management
- Maintaining state between requests Maintaining state across all requests Maintaining state between user sessions
- Managing and maintaining state
- Understand the various techniques for state management.
- Test Driven Development (TDD)
- Writing tests in Visual Studio
- Dependency Injection
- Mocking the HttpContext
- Implement Test Driven Development
- Use Dependency Injection in web applications
After completing this module delegates will:
- Understand the principles of Test Driven Development (TDD)
- Know how to implement Unit Tests using Visual Studio
- Use Dependency Injection to support mocking frameworks
- Output caching
- Data caching
- Output and Data caching
- What is AJAX
- AJAX Frameworks ASP.NET AJAX jQuery
- Visual Studio support
- Enhancing an MVC application with AJAX After completing this module delegates will:
- Understand the need for AJAX
- Know how to implement jQuery in an MVC application
- ASP.NET Identity Authorization
- Individual User Accounts
- Organizational Accounts
- A number of labs are provided (most of them optional) so delegates can become familiar with the available options.
- Have an understanding of the security infrastructure provided in MVC
- Deployment Options
- Working with Packages Configuring Deployment Options Applying Transforms
- Deploying Web Applications to Azure
Lab:
- Know how to deploy ASP.NET MVC 5 applications to hosting servers and Microsoft's Azure
- How to create and configure deployment profiles
Exams & Certification
This course prepares delegates for the MVC part of Exam 70-486 (not included).