Course Description
Module 1: Exploring ASP.NET MVC5
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 MVC5
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
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
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
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
- Reusing Code in Views
Lab: Developing ASP.NET MVC 5 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
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: Structuring ASP.NET MVC 5 Web Applications
- Using the Routing Engine
- Optional - Building Navigation Controls
After completing this module, students will be able to:
- Develop a web application that uses the ASP.NET routing engine to present friendly URLs and a logical navigation hierarchy to users
Module 8: Applying Styles to ASP.NET MVC 5 Web Applications
The goal of this module is to explore how students can impose a consistent look and feel to an MVC application and share other common components, such as headers and footers, between all Views. Besides describing CSS styles and template views, the module will discuss how to migrate a look and feel created by a web designer into an MVC application. Techniques for adapting the display of a site for small screens and mobile devices will also be introduced.
Lessons
- Using Template Views
- Applying CSS to an MVC Application
- Creating an Adaptive User Interface
Lab: Applying Styles to ASP.NET MVC 5 Web Applications
After completing this module, students will be able to:
- Implement a consistent look and feel, including corporate branding, across an entire MVC web application
Module 9: Building Responsive Pages in ASP.NET MVC 5 Web Applications
The goal of this module is to describe to the students how partial page updates and caching can optimize the responsiveness of a web application. Students will see how to make use of AJAX helpers and partial views to update small portions of a page instead of refreshing the entire page. The module also covers the different caches developers can use to store rendered pages and discusses how to configure caching for maximum performance.
Lessons
- Using AJAX and Partial Page Updates
- Implementing a Caching Strategy
Lab: Building Responsive Pages in ASP.NET MVC 5 Web Applications
After completing this module, students will be able to:
- Use partial page updates and caching to reduce the network bandwidth used by an application and accelerate responses to user requests
Module 10: Using JavaScript and jQuery for Responsive MVC 5 Web Applications
The goal of this module is to teach the students techniques that run code on the browser. This approach can increase the responsiveness of the application because a rendered page can respond to a user action without reloading the entire page from the server. Students will learn about the jQuery script library and how to use it to call web services and update user interface components.
Lessons
- Rendering and Executing JavaScript Code
- Using jQuery and jQueryUI
Lab: Using JavaScript and jQuery for Responsive MVC 5 Web Applications
After completing this module, students will be able to:
- Write JavaScript code that runs on the client-side and utilizes the jQuery script library to optimize the responsiveness of an MVC web application
Module 11: Controlling Access to ASP.NET MVC 5 Web Applications
The goal of this module to ensure good security in terms of strong authentication and authorization for access. The lessons describe how to enable anonymous users to create their own user account and gain privileged access to content.
Lessons
- Implementing Authentication and Authorization
- Assigning Roles and Membership
Lab: Controlling Access to ASP.NET MVC 5 Web Applications
After completing this module, students will be able to:
- Implement a complete membership system in an MVC 4 web application
Module 12: Building a Resilient ASP.NET MVC 5 Web Application
The goal of this module is to enable the students to build applications that are stable and reliable. Such applications are not vulnerable to common hacking techniques such as cross-site scripting and also store state information such as the contents of a shopping cart and user preferences. This state information is preserved when servers or browsers restart, connections are lost, and other connectivity issues occur.
Lessons
- Developing Secure Sites
- State Management
Lab: Building a Resilient ASP.NET MVC 5 Web Application
- Creating Favorites Controller Actions
- Implementing Favorites in Views
After completing this module, students will be able to:
- Build an MVC application that resists malicious attacks and persists information about users and preferences
Module 13: Implementing Web APIs in ASP.NET MVC 5 Web
Applications
The goal of the module is to introduce the concept of a Web API to
students and to describe how to make an application’s core functionality
more broadly available for integration into other web and mobile
applications. Students will learn about the new Web API feature of MVC 5
and see how to build a RESTful Web API and call it from other
applications.
Lessons
- Develop a Web API
- Calling a Web API from Mobile and Web Applications
Lab: Implementing Web APIs in ASP.NET MVC 5 Web Applications
- Adding a Web API to the Photo Sharing Application
- Using the Web API for a Bing Maps Display
After completing this module, students will be able to:
- Describe how to write a Windows Azure web service and call it from and MVC application
Module 14: Handling Requests in ASP.NET MVC 5 Web Applications
The goal of this module is to describe how to write components that
intercept requests from browsers before they are received by MVC
Controllers. These components include HTTP Modules, HTTP Handlers,
and the Web Sockets protocol. The module describes scenarios in which
developers use such components and shows how to add them to an MVC
application.
Lessons
- Using HTTP Modules and HTTP Handlers
- Using Web Sockets
Lab: Handling Requests in ASP.NET MVC 5 Web Applications
- Creating a SignalR Hub
- Creating a Photo Chat View
After completing this module, students will be able to:
- Modify the way broser requests are handled by an MVC application
Module 15: Deploying ASP.NET MVC 5 Web Applications
The goal for this module is to enable students to deploy a completed MVC application to a web server or Windows Azure. The module begins by describing testing, staging, and production deployments and the web server environments required for each. It also describes the advantages and disadvantages of using Windows Azure to host the application. Students also see all the available deployment options in Visual Studio.
Lessons
- Deploying a Web Application
- Deploying an ASP.NET MVC 5 Web Application
Lab: Deploying ASP.NET MVC 5 Web Applications
After completing this module, students will be able to:
- Describe how to package and deploy an ASP.NET MVC 5 web application from a development computer to a web server for staging or production
You Will Learn How 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 2012 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 4 web application
- Build an MVC application that resists malicious attacks and persists information about users and preferences
- Describe how to write a Windows 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 4 web application from a development computer to a web server for staging or production
Who Should AttendThis 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.
Important Course Information
-
MVC Training Course Description (MOC 20486)
-
Requirements
Before attending this course, students must have a minimum of two to three years of experience developing web-based applications by using Microsoft Visual Studio and Microsoft ASP.NET, proficiency in using the .NET Framework, and some familiarity with the C# language.
-
Redeem Your Microsoft Training Vouchers (SATV)
-
Industry Credits
This ILT/VILT course offers you the opportunity to earn the following industry credits and certifications.
-
Exam Information
-
After-Course Computing Sandbox
You'll be given remote access to a preconfigured virtual machine for you to redo your hands-on exercises, develop/test new code, and experiment with the same software used in your course.
Exam Entry Criteria
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.
Key Features
- Prepare for Microsoft certification exam 70-486
- Microsoft Official Course (MOC) content
- After-course instructor coaching benefit
- Eligible to use with your Microsoft Training Vouchers
Cancellation Policy:
If a customer would like to cancel or transfer their course, they must notify Learning Tree prior to two weeks before the start date of the course or within seven days of registration. If a customer transfers to another course prior to two weeks before the start date or within seven days of registration of the course in which originally enrolled, 100% of any prepaid course tuition will be applied toward the course tuition for the subsequent course. If a customer needs to cancel an enrollment two weeks prior to the start of the class or within seven days of registration, we will refund 100% of any prepaid course tuition for that enrollment. If a customer does need to transfer or cancel a course within two weeks of the start date of the course or after seven days from the date of registration, a fee equal to 50% of the price of the course will be assessed for any standard attendances.
Agenda
Module 1: Exploring ASP.NET Core MVC
Microsoft ASP.NET Core MVC and the other web technologies of the ASP.NET Core can help you create and host dynamic, powerful, and extensible web applications. ASP.NET Core, of which ASP.NET Core MVC is part, is an open-source, cross-platform framework that allows you to build web applications. You can develop and run ASP.NET Core web applications on Windows, macOS, Linux, or any other platform that supports it. ASP.NET Core MVC supports agile, test-driven development cycle. It also allows you to use the latest HTML standard and Front-End frameworks such as Angular, React, and more.
Lessons
- Overview of Microsoft Web Technologies
- Overview of ASP.NET 4.x
- Introduction to ASP.NET MVC
Lab: Exploring ASP.NET Core MVC
- Exploring a Razor Pages Application
- Exploring a Web API Application
- Exploring an MVC Application
After completing this module, students will be able to:
- Understand the variety of technologies available in the Microsoft web stack.
- Describe the different programming models available for developers in ASP.NET.
- Choose between ASP.NET Core and ASP.NET 4.x.
- Describe the role of ASP.NET Core MVC in the web technologies stack, and how to use ASP.NET Core MVC to build web applications.
- Distinguish between MVC models, MVC controllers, and MVC views.
Module 2: Designing ASP.NET Core MVC Web Applications
Microsoft ASP.NET Core MVC is a programming model that you can use to create powerful and complex web applications. However, all complex development projects, and large projects in particular, can be challenging and intricate to fully understand. Without a complete understanding of the purposes of a project, you cannot develop an effective solution to the customer’s problem. You need to know how to identify a set of business needs and plan the Model-View-Controller (MVC) web application to meet those needs. The project plan that you create assures stakeholders that you understand their requirements and communicates the functionality of the web application, its user interface, structure, and data storage to the developers. By writing a detailed and accurate project plan, you can ensure that the powerful features of MVC are used effectively to solve the customer’s business problems.
Lessons
- Planning in the Project Design Phase
- Designing Models, Controllers, and Views
Lab: Designing ASP.NET Core MVC Web Applications
- Planning Model Classes
- Planning Controllers
- Planning Views
- Architecting and MVC Web Application
After completing this module, students will be able to:
- Plan the overall architecture of an ASP.NET Core MVC web application and consider aspects such as state management.
- Plan the models, controllers, and views that are required to implement a given set of functional requirements.
Module 3: Configure Middlewares and Services in ASP.NET Core
ASP.NET Core is a framework that allows us to build many different kinds of applications. In this module, you will learn how to leverage the ASP.NET Core framework to handle requests and responses via existing, and custom middleware, and how to configure services for use in middleware and throughout other parts of the application, such as controllers. A middleware is a segment of code that can be used as part of the request and response pipeline that allows us to handle them according to any relevant parameter. This potentially allows multiple separate requests to be handled in a completely different fashion and receive separate responses. Services are classes that expose functionality which you can later use throughout different parts of the application, without having to keep track of scope manually in each individual location and instantiate any dependencies. This is done by using Dependency Injection. Dependency Injection is a technique used by ASP.NET Core that allows us to add dependencies into the code without having to worry about instantiating objects, keeping them in memory, or passing along required dependencies. This allows the application to become more flexible and to reduce potential points of failure whenever you change a service.
Lessons
- Configuring Middlewares
- Configuring Services
Lab: Configuring Middleware and Services in ASP.NET Core
- Working with Static Files
- Creating custom middleware
- Using dependency injection
- Injecting a service to a controller
After completing this module, students will be able to:
- Use existing middleware to set up an ASP.NET Core application.
- Create your own middleware and use it to define custom behavior.
- Understand the basic principles behind Dependency Injection, and how it is used in ASP.NET Core.
- Know how to create a custom service, configure its scope, and inject it to both middleware and ASP.NET Core MVC controllers.
Module 4: Developing Controllers
ASP.NET Core MVC is a framework for building web applications by using the Model-View-Controller (MVC) architectural pattern. The controller is essentially responsible for processing a web request by interacting with the model and then passing the results to the view. The model represents the business layer, sometimes referred to as the domain, and may include data objects, application logic, and business rules. The view uses the data that it receives from the controller to produce the HTML or other output that is sent back to the browser. In this module, you will learn how to develop controllers. Controllers are central to MVC applications. Understanding how controllers work is crucial to being able to create the appropriate model objects, manipulate them, and pass them to the appropriate views. A controller is a class. It contains several methods. These methods are called actions. When an MVC application receives a request, it finds which controller and action should handle the request. It determines this by using Uniform Resource Locator (URL) routing. URL routing is another very important concept necessary for developing MVC applications. The ASP.NET Core MVC framework includes a flexible URL routing system that enables you to define URL mapping rules within your applications. To maximize the reuse of code in controllers, it is important to know how to write action filters. You can use action filters to run code before or after every action in your web application, on every action in a controller, or on other combinations of controller actions.
Lessons
- Writing Controllers and Actions
- Configuring Routes
- Writing Action Filters
Lab: Developing Controllers
- Adding controllers and actions to an MVC application
- Configuring routes by using the routing table
- Configuring routes using attributes
- Adding an action filer
After completing this module, students will be able to:
- Add a controller to a web application that responds to user actions that are specified in the project design.
- Add routes to the ASP.NET Core routing engine and ensure that URLs are user-friendly in an MVC web application.
- Write code in action filters that runs before or after a controller action.
Module 5: Developing Views
Views are one of the three major components of the Model-View-Controller (MVC) programming model. You can define the user interface for your web application by creating views. A view is a combination of HTML markup and C# code that runs on a web server. Therefore, to create a view, you need to know how to write the HTML markup and C# code and use the various helper classes that are built into MVC. You also need to know how to create partial views and view components, which render sections of HTML that can be reused in your web application.
Lessons
- Creating Views with Razor Syntax
- Using HTML Helpers and Tag Helpers
- Reusing Code in Views
Lab: Developing Views
- Adding Views to an MVC Application
- Adding a partial view
- Adding a view component
After completing this module, students will be able to:
- Create an MVC view and add Razor markup to it to display data to users.
- Use HTML helpers and tag helpers in a view.
- Reuse Razor markup in multiple locations throughout an application.
Module 6: Developing Models
Most web applications interact with various types of data or objects. An e-commerce application, for example, manages products, shopping carts, customers, and orders. A social networking application might help manage users, status updates, comments, photos, and videos. A blog is used to manage blog entries, comments, categories, and tags. When you write a Model-View-Controller (MVC) web application, you create an MVC model to model the data for your web application. Within this model, you create a model class for each type of object. The model class describes the properties of each type of object and can include business logic that matches business processes. Therefore, the model is a fundamental building-block in an MVC application. In this module, you will learn how to create the code for models.
Lessons
- Unit Testing MVC Components
- Working with Forms
- Validate MVC Application
Lab: Developing Models
- Adding a model
- Working with Forms
- Add Validation
After completing this module, students will be able to:
- Add a model to an MVC application and write code in it to implement the business logic.
- Use display and edit data annotations.
- Validate user input with data annotations.
Module 7: Using Entity Framework Core in ASP.NET Core
Web applications often use information and they usually require a data store for that information. By rendering webpages that use data from a data store, you can create a web application that changes continually in response to user input, administrative actions, and publishing events. The data store is usually a database, but other types of data stores are occasionally used. In Model-View-Controller (MVC) applications, you can create a model that implements data access logic and business logic. Alternatively, you can separate business logic from data access logic by using a repository. A repository is a class that a controller can call to read data from a data store and to write data to a data store. When you write an ASP.NET application you can use the Entity Framework Core (EF Core) and Language Integrated Query (LINQ) technologies, which make data access code very quick to write and simple to understand. In this module, you will see how to build a database-driven website in MVC.
Lessons
- Introduction to Entity Framework Core
- Working with Entity Framework Core
- Use Entity Framework Core to connect to Microsoft SQL Server
Lab: Using Entity Framework Core in ASP.NET Core
- Adding Entity Framework Core
- Use Entity Framework Core to retrieve and store data
- Use Entity Framework Core to connect to Microsoft SQL Server
After completing this module, students will be able to:
- Connect an application to a database to access and store data.
- Explain EF Core.
- Work with Entity Framework Core.
- Use EF Core to connect to a database including Microsoft SQL Server
Audience
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.