Course Outline Tel: +44 (0) 118 979 4000 Email:
[email protected]
Fax: +44 (0) 118 979 4000 Web: www.ptr.co.uk
Developing Web Applications Using ASP.Net MVC 5 Course Description: 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. MVC 5 is the newest update to the popular Microsoft technology that enables you to build dynamic, data-driven websites. Like previous versions, this course shows techniques on using MVC to best advantage, with plenty of practical tutorials to illustrate the concepts. It covers controllers, views, and models; forms and HTML helpers; data annotation and validation; membership, authorization, and security. On this course, you gain the skills required to effectively use ASP.NET MVC to build Web applications.
Pre-requisites: This course is designed for anyone involved in the development of Web applications using Microsoft technology. Programming experience in C# is required to our Introduction Course level, and a fundamental knowledge of HTML are assumed.
Course Content:
21a Peach Street Wokingham Berkshire RG40 1XJ Tel 0118 979 4000 Fax 0118 979 4035 Email
[email protected] www.ptr.co.uk Registered Office: Grenville Court Britwell Road Burnham Bucks SL1 8DF Company Registered No: 2442290 – VAT registration No:532
1929 56
Course Outline Tel: +44 (0) 118 979 4000 Email:
[email protected]
•
•
•
INTRODUCTION
CONTROLLERS
VIEWS
Fax: +44 (0) 118 979 4000 Web: www.ptr.co.uk
•
The MVC Pattern
•
MVC as Applied to Web Frameworks
•
One ASP.NET
•
New Web Project Experience
•
ASP.NET Identity
•
Bootstrap Templates
•
Attribute Routing
•
ASP.NET Scaffolding
•
Filters
•
The MVC Application Structure
•
Convention over Configuration
•
The Controller’s Role
•
A Sample Application
•
Controller Basics
•
Example: The Home Controller
•
Parameters in Controller Actions
•
The Purpose of Views
•
View Basics
•
Understanding View Conventions
•
Strongly Typed Views
•
Understanding ViewBag, ViewData, and ViewDataDictionary
•
View Models
•
The Razor View Engine
•
Code Expressions
•
HTML Encoding
•
Code Blocks
•
Samples
•
Layouts
•
Specifying a Partial View
21a Peach Street Wokingham Berkshire RG40 1XJ Tel 0118 979 4000 Fax 0118 979 4035 Email
[email protected] www.ptr.co.uk Registered Office: Grenville Court Britwell Road Burnham Bucks SL1 8DF Company Registered No: 2442290 – VAT registration No:532
1929 56
Course Outline Tel: +44 (0) 118 979 4000 Email:
[email protected]
•
•
•
Fax: +44 (0) 118 979 4000 Web: www.ptr.co.uk
MODELS
FORMS AND HTML HELPERS
DATA ANNOTATIONS AND VALIDATION
•
Modeling Sample
•
Scaffolding
•
Scaffolding and the Entity Framework 82
•
Building a Resource
•
Responding to POST Requests
•
Model Binding
•
Using Forms
•
The Action and the Method
•
To GET or to POST?
•
HTML Helpers
•
Code example
•
Helpers, Models, and View Data
•
Strongly Typed Helpers
•
Helpers and Model Metadata
•
Templated Helpers
•
Helpers and ModelState
•
Other Helpers
•
Html.ActionLink and Html.RouteLink
•
URL Helpers
•
Html.Partial and Html.RenderPartial
•
Html.Action and Html.RenderAction
•
Annotating for Validation
•
Custom Error Messages and Localization
•
Controller Actions and Validation Errors
•
Custom Validation Logic
•
Custom Annotations
•
Other common annotations
21a Peach Street Wokingham Berkshire RG40 1XJ Tel 0118 979 4000 Fax 0118 979 4035 Email
[email protected] www.ptr.co.uk Registered Office: Grenville Court Britwell Road Burnham Bucks SL1 8DF Company Registered No: 2442290 – VAT registration No:532
1929 56
Course Outline Tel: +44 (0) 118 979 4000 Email:
[email protected]
•
Fax: +44 (0) 118 979 4000 Web: www.ptr.co.uk
MEMBERSHIP, AUTHORIZATION, AND SECURITY
•
Using the Authorize Attribute
•
Securing Controller Actions
•
Windows Authentication
•
Using AuthorizeAttribute to Require Role Membership
•
Extending User Identity
•
Storing additional user profile data
•
Managing users and roles
•
External Login via Oauth and OpenID
•
Security Implications of External Logins
•
Understanding the Security Vectors in a Web Application
•
Threat: Cross-Site Scripting
•
Threat: Cross-Site Request Forgery
•
Threat: Cookie Stealing
•
Threat: Over-Posting 200
•
Proper Error Reporting and the Stack Trace 207
•
Using Configuration Transforms 208
21a Peach Street Wokingham Berkshire RG40 1XJ Tel 0118 979 4000 Fax 0118 979 4035 Email
[email protected] www.ptr.co.uk Registered Office: Grenville Court Britwell Road Burnham Bucks SL1 8DF Company Registered No: 2442290 – VAT registration No:532
1929 56
Course Outline Tel: +44 (0) 118 979 4000 Email:
[email protected]
•
•
•
Fax: +44 (0) 118 979 4000 Web: www.ptr.co.uk
INTRODUCTION TO FRONT END DEVELOPMENT
ROUTING
ASP.NET WEB API
•
jQuery
•
Unobtrusive JavaScript
•
Using jQuery
•
Ajax Helpers
•
Ajax ActionLinks
•
HTML 5 Attributes
•
Ajax Forms
•
Client Validation
•
jQuery Validation
•
jQuery UI
•
Bootstrap Plugins
•
Using Content Delivery Networks
•
Script Optimizations
•
Bundling and Minification
•
Uniform Resource Locators
•
Introduction to Routing
•
Comparing Routing to URL Rewriting
•
Defining Attribute Routes
•
Defining Traditional Routes
•
MVC Areas
•
Debugging Routes
•
The High-Level Request Routing Pipeline
•
RouteData
•
Defining ASP.NET Web API
•
Getting Started with Web API
•
Writing an API Controller
•
Async by Design: IHttpController
•
Web API Example
21a Peach Street Wokingham Berkshire RG40 1XJ Tel 0118 979 4000 Fax 0118 979 4035 Email
[email protected] www.ptr.co.uk Registered Office: Grenville Court Britwell Road Burnham Bucks SL1 8DF Company Registered No: 2442290 – VAT registration No:532
1929 56
Course Outline Tel: +44 (0) 118 979 4000 Email:
[email protected]
•
•
•
Fax: +44 (0) 118 979 4000 Web: www.ptr.co.uk
SINGLE PAGE APPLICATIONS WITH ANGULARJS
DEPENDENCY INJECTION
INTRODUCTION TO UNIT TESTING
•
Understanding and Setting Up AngularJS
•
What’s AngularJS
•
Adding AngularJS to the Site
•
Creating Controllers, Models, and Views
•
Services
•
Routing
•
Code Example
•
Software Design Patterns
•
Design Pattern: Inversion of Control
•
Design Pattern: Service Locator
•
Design Pattern: Dependency Injection
•
Dependency Resolution in MVC
•
Code example with Unity
•
Understanding Unit Testing and TestDriven Development
•
Defining Unit Testing
•
Defining Test-Driven Development
•
Benefits of Unit Testing
•
Code Example
21a Peach Street Wokingham Berkshire RG40 1XJ Tel 0118 979 4000 Fax 0118 979 4035 Email
[email protected] www.ptr.co.uk Registered Office: Grenville Court Britwell Road Burnham Bucks SL1 8DF Company Registered No: 2442290 – VAT registration No:532
1929 56
Course Outline Tel: +44 (0) 118 979 4000 Email:
[email protected]
•
EXTENDING MVC
Course Duration:
Fax: +44 (0) 118 979 4000 Web: www.ptr.co.uk
•
Extending Models
•
Turning Request Data into Models
•
Describing Models with Metadata
•
Validating Models
•
Extending Views
•
Customizing View Engines
•
Writing HTML Helpers
•
Writing Razor Helpers
•
Extending Controllers
•
Selecting Actions
•
Filters
•
Providing Custom Results
5 Days
21a Peach Street Wokingham Berkshire RG40 1XJ Tel 0118 979 4000 Fax 0118 979 4035 Email
[email protected] www.ptr.co.uk Registered Office: Grenville Court Britwell Road Burnham Bucks SL1 8DF Company Registered No: 2442290 – VAT registration No:532
1929 56