Highlights
Course Overview
ASP.NET MVC 6 now unifies the creation of WEB Applications using a range of previously separate technologies; MVC and Web API. ASP.NET MVC 6 within Visual Studio .NET 2015 now allows creation of modern web applications supporting a Responsive User Interface (multiple platforms). Working on ASP.NET 5 allows more flexible hosting using a range of middleware. MVC provides separation of concerns, making testing straightforward. Theming allows rapid change of appearance. ASP.NET MVC is a popular development framework for Web, Mobile and Server-side applications. Asynchronous programming is supported both from client side and server side. ASP.NET MVC 6 workshops will be in C# (VB.NET no longer supported)!
What you will learn :
At the end of this course you will be able to:
1. Understand when and why to use ASP.NET MVC 6?
2. ASP.NET support for hosting and use of ‘Middleware’
3. Use of packages (NuGet) and creation of packages
4. Use Separation to provide Model, View and Controller
5. Use MVC Routing including Attribute Routing
6. Develop for multiple platforms including mobile and tablet using ‘Bootstrap’
7. Apply testing / prototyping principals
8. Use ASP.NET MVC in the context of AJAX and jQuery
9. Understand security considerations
10. Use Web API to provide REST Based Service
Course Details
Course Detail
MVC Essentials
What and Why use ASP.NET MVC 6?
Discuss the rapid development and evolution of ASP.NET MVC including these features/approaches already deprecated! Will the current implementation provide all of the features required?
Responsibilities of the Model, View and Controller
ASP.NET MVC
Introduction to Configuration within Startup class
Support for Dependency Injection
Testability
Routing essentials
Creating your first ASP.NET MVC web Application
Configuration Options
Razor Views
Building a Responsive Web Site and support for Mobile and Table using ‘bootstrap’
Visual Studio Tooling including project structure
Controllers
Using Controllers
POCO Controllers
Action Methods
Working with Parameters
How actions are mapped to methods
Action Result Types & Helper Methods
Understanding Model Binders
Task Asynchronous Pattern
Asynchronous actions with async/await
Views
Responsibilities of a View and View Engines
Creating Razor Views
Layout Page (Razor)
Strongly Typed Views
Html Helper methods and Tag Helpers
Creating Tag Helpers
Partial Views
Validation helpers
Bootstrap
Using Bootstrap to provide a Responsive User Interface
Layout using Bootstrap
Change appearance with Theming
Bootstrap Components
MVC AJAX and JQuery Support
When to use AJAX
Making AJAX Calls
Using Partial Views with AJAX/JQuery
Unobtrusive AJAX
MVC Filters
Understanding Filters
Built in Filters
Authorize, Handle Error and OutputCache
Creating Custom Filters
Configuring Filters
Adding Filters
MVC Security
Dealing with common security threats in ASP.NET MVC
Validation Options
Error Reporting
Securing controllers and actions
Authorize and NonAction attributes
MVC Routing
Introduction and motivation
Building your routes
Route Constraints
Attribute Routing and Friendly Urls
MVC Models
Using Models
CLR Types and Strongly Typed Views
Introduction to Entity Framework 7
Using Entity Framework 7
Extending Entities and validation rules
Testing and Patterns for MVC Development
Writing Tests for ASP.NET MVC
Test Driven Development (TDD)
Unit Testing best practices
Enforcing Isolation of tests
Dependency Injection
Areas
Partitioning Large Web Applications
Adding Areas
Navigation between Areas
Rest Based services using Web API
What is ASP.NET Web API?
Using HTTP verbs (GET, POST, PUT and DELETE)
Previous options for action and new ObjectResult
Using GET, POST, PUT, DELETE
Who should attend
Feedback
4.8 out of 5 average
"Our tailored course provided a well rounded introduction and also covered some intermediate level topics that we needed to know. Clive gave us some best practice ideas and tips to take away. Fast paced but the instructor never lost any of the delegates"
Brian Leek, Data Analyst, May 2022
“JBI did a great job of customizing their syllabus to suit our business needs and also bringing our team up to speed on the current best practices. Our teams varied widely in terms of experience and the Instructor handled this particularly well - very impressive”
Brian F, Team Lead, RBS, Data Analysis Course, 20 April 2022