Developing ASP.NET MVC 5 Web Applications - M20486 Course Outline

(5 Days) - Learning Credits Accepted

Overview

In this course, students will learn to develop advanced ASP.NET MVC applications using .NET Framework tools and technologies. The focus will be on coding activities that enhance the performance and scalability of a web application. ASP.NET MVC will be introduced and compared with Web Forms so that students know when each should/could be used. This course will also prepare the students for exam 70-486.

Audience Profile

This course is intended for professional web developers who use Microsoft Visual Studio in an individual-based or team-based, small-sized to large development environment. Candidates for this course are interested in developing advanced web applications and want to manage the rendered HTML comprehensively. They want to create websites that separate the user interface, data access, and application logic.

Prerequisites

Before attending this course, students must have:

  • Experience with Visual Studio 2017.
  • Experience with C# programming, and concepts such as Lambda expressions, LINQ, and anonymous types.
  • Experience in using the .NET Framework.
  • Experience with HTML, CSS and JavaScript.
  • Experience with querying and manipulating data with ADO.NET.
  • Knowledge of XML and JSON data structures.

At Course Completion

After completing this course, students will be able to:

  • Describe the Microsoft Web Technologies stack and select an appropriate technology to use to develop any given application.
  • Design the architecture and implementation of a web application that will meet a set of functional requirements, user interface requirements, and address business models.
  • Create MVC Models and write code that implements business logic within Model methods, properties, and events.
  • Add Controllers to an MVC Application to manage user interaction, update models, and select and return Views.
  • Create Views in an MVC application that display and edit data and interact with Models and Controllers.
  • Run unit tests and debugging tools against a web application in Visual Studio and configure an application for troubleshooting.
  • Develop a web application that uses the ASP.NET routing engine to present friendly URLs and a logical navigation hierarchy to users.
  • Implement a consistent look and feel, including corporate branding, across an entire MVC web application.
  • Use partial page updates and caching to reduce the network bandwidth used by an application and accelerate responses to user requests.
  • Write JavaScript code that runs on the client side and utilizes the jQuery script library to optimize the responsiveness of an MVC web application.
  • Implement a complete membership system in an MVC web application.
  • Build an MVC application that resists malicious attacks and persists information about users and preferences.
  • Describe how to write a Microsoft Azure web service and call it from and MVC application.
  • Describe what a Web API is and why developers might add a Web API to an application.
  • Modify the way browser requests are handled by an MVC application.
  • Describe how to package and deploy an ASP.NET MVC web application from a development computer to a web server for staging or production.

Course Outline

Module 1: Exploring ASP.NET MVC 5

The goal of this module is to outline to the students the components of the Microsoft Web Technologies stack, which can be used to host a completed web application. Students will also learn about ASP.NET and be introduced to the web forms, web pages, and MVC programming models. Finally they will see an overview of ASP.NET MVC 5, including new features and configuration.

Lessons

  • Overview of Microsoft Web Technologies
  • Overview of ASP.NET
  • Introduction to ASP.NET MVC 5

Lab : Exploring ASP.NET MVC 5

  • Exploring a Photo Sharing Application
  • Exploring a Web Pages Application
  • Exploring a Web Forms Application
  • Exploring an MVC Application

After completing this module, students will be able to:

Describe the Microsoft Web Technologies stack and select an appropriate technology to use to develop any given application.

Module 2: Designing ASP.NET MVC 5 Web Applications

The goal of this module is to introduce students to the typical design process that architects must complete when they plan an MVC 5 application. At this stage in the design process, MVC 5 has been selected as the most appropriate programming model, but the details of the application, such as the overall architecture, Controllers, Views, Models, and routes to create, have not been fixed. How to plan such details is shown during this module.

Lessons

  • Planning in the Project Design Phase
  • Designing Models, Controllers, and Views

Lab : Designing ASP.NET MVC 5 Web Applications

  • Planning Model Classes
  • Planning Controllers
  • Planning Views
  • Architecting an MVC Web Application

After completing this module, students will be able to:

Design the architecture and implementation of a web application that will meet a set of functional requirements, user interface requirements, and address business models.

Module 3: Developing ASP.NET MVC 5 Models

The goal of this module is to enable the students to create Models within an MVC application that implement the business logic necessary to satisfy business requirements. The module also describes how to implement a connection to a database, or alternative data store, using the Entity Framework and LINQ.

Lessons

  • Creating MVC Models
  • Working with Data

Lab : Developing ASP.NET MVC 5 Models

  • Creating an MVC Project and Adding a Model
  • Adding Properties to MVC Models
  • Using Data Annotations in MVC Models
  • Creating a New Microsoft Azure SQL Database

After completing this module, students will be able to:

Create MVC Models and write code that implements business logic within Model methods, properties, and events.

Module 4: Developing ASP.NET MVC 5 Controllers

The goal of this module is to enable students to add Controllers to MVC applications and to implement actions that respond to user input and other events. The students will learn how Controllers relate to Models and how to implement Controller actions that define the View used to display or edit data. This module also covers how to write action filters that run code before or after multiple actions in the Controller. The students will learn about situations when action filters are useful.

Lessons

  • Writing Controllers and Actions
  • Writing Action Filters

Lab : Developing ASP.NET MVC 5 Controllers

  • Adding an MVC Controller and Writing the Actions
  • Optional—Writing the Action Filters in a Controller

After completing this module, students will be able to:

Add Controllers to an MVC Application to manage user interaction, update models, and select and return Views.

Module 5: Developing ASP.NET MVC 5 Views

The goal of this module is to describe the role of Views in an MVC web application and enable users to create and code them. The syntax of a Razor View is of critical importance for students to understand because it defines both the layout and the functionality of the data display. HTML Helpers will also be discussed in detail and common Helpers, such as Html.ActionLink() and Html.EditorFor(), will be described. Reusing code by defining Partial Views and Razor Helpers will be discussed as well.

Lessons

  • Creating Views with Razor Syntax
  • Using HTML Helpers
  • Re-using Code in Views

Lab : Developing ASP.NET MVC 5 Views

  • Adding a View for Photo Display
  • Adding a View for New Photos
  • Creating and Using a Partial View
  • Adding a Home View and Testing the Views

After completing this module, students will be able to:

Create Views in an MVC application that display and edit data and interact with Models and Controllers

Module 6: Testing and Debugging ASP.NET MVC 5 Web Applications

The goal of this module is to enable students to increase the resilience and quality of an application by locating and correcting code errors, bugs, and other unexpected results. MVC applications are well suited to unit testing techniques and these techniques ensure a high quality of code by systematically testing the functionality of each small component. In addition the debugging tools and exception handling available in Visual Studio will be explained.

Lessons

  • Unit Testing MVC Components
  • Implementing an Exception Handling Strategy

Lab : Testing and Debugging ASP.NET MVC 5 Web Applications

  • Performing Unit Tests
  • Optional – Configuring Exception Handling

After completing this module, students will be able to:

Run unit tests and debugging tools against a web application in Visual Studio and configure an application for troubleshooting.

Module 7: Structuring ASP.NET MVC 5 Web Applications

The goal of this module is to enable students to structure a web application in such a way that users can rapidly locate the information they need. Two aspects of the design are emphasized: the URLs presented in the browser address bar should be understandable and can be controlled by adding routes to the ASP.NET Routing Engine, and the navigation controls, such as menus and breadcrumb trails, should present the most relevant links to frequently read pages. Search Engine Optimization is important throughout this module.

Lessons

  • Analyzing Information Architecture
  • Configuring Routes
  • Creating a Navigation Structure

Lab : St