Advanced MVC: Building Web Applications Using the ASP.NET Web API with C# (Canada) Hands-On Technology Transfer
Delivery Method
Seminar
Target Audience Advanced ASP.Net Programmers
Summary This course provides students with the skills needed to create sophisticated web applications using advanced features of ASP.NET MVC, the Entity Framework, Web API, and the popular JavaScript libraries jQuery, jQuery UI, Bootstrap and AngularJS.
Description/Agenda
This course provides students with the skills needed to create
sophisticated web applications using advanced features of ASP.NET MVC, the
Entity Framework, Web API, and the popular JavaScript libraries jQuery,
jQuery UI, Bootstrap and AngularJS. Students will build several ASP.NET MVC
web applications using Visual Studio during the week to reinforce the skills
they learn.
The course begins with an overview of ASP.NET MVC for experienced
programmers and then covers the fundamentals of responsive website design.
Students then learn how to use Bootstrap with MVC to make a web site
responsive on devices from large desktop displays to small mobile devices.
Students will learn how to integrate jQuery into an MVC application to
provide dynamic, client-side behavior. They will then learn how to use
jQuery's Ajax features to build more interactive MVC applications. Students
will also learn how to use jQuery UI widgets to provide a more sophisticated
user interface for their MVC views.
The course covers use of the Entity Framework to provide a data access
layer for an MVC application. The Database First strategy is briefly
examined before thorough coverage of the more configurable Code First
strategy. Students will also learn how to use the Web API to build APIs that
expose services and data via HTTP. These APIs can be used by a diverse set
of clients including browsers, desktop applications and mobile devices.
The course includes coverage of Single-Page Applications. In these types
of applications, the entire page is loaded in the browser after the initial
request. All other interactions with the server utilize Ajax requests to
update the page. The service layer is implemented with the Web API.
Additional topics include: using HTML helpers to design views; creating
both inline and custom HTML helpers to encapsulate view markup; using
convention-based and attribute routing to support custom routes; and use of
the NuGet packages with MVC applications.
Course Prerequisites: Prior experience
building ASP.NET MVC web sites. Students who are not familiar with the ASP.NET
MVC or C# should take the ASP.NET MVC Programming Using C# course instead.
What You Will Learn
- Building Responsive Applications Using Bootstrap
- Using jQuery to Provide Dynamic Behavior
- Using Ajax to Build Interactive MVC Applications
- Improving MVC Views Using jQuery UI
- Implementing Custom Routing
- Working with the Entity Framework
- Creating a Service Layer Using Web API
- Consuming Web API Services Using MVC
- Building Single Page Applications with ASP.NET MVC, Web API and
AngularJS
- Working with NuGet
Workshop Agenda
Quick Review of ASP.NET MVC
- What is the MVC Design Pattern?
- Structure of an ASP.NET MVC Web Application
- Creating an ASP.NET MVC Application Using Visual Studio
- Building Controllers to Handle HTTP Requests
- Designing Views Using Razor
- Using Layouts
- Coding Models
- Understanding Default Routing
|
Creating Views Using HTML Helpers
- What are HTML Helpers?
- Understanding the Built-in HTML Helpers
- Working with Inline Helpers
- Working with Custom Helpers
|
Responsive Applications Using Bootstrap
- What is a Responsive Application?
- What is Bootstrap?
- Normalization Across Browsers
- Working with Accordion
- Mobile First Design
- Understanding Bootstrap.css and
Bootstrap.js
- Including Bootstrap in a Layout and/or View
- Understanding Bootstrap Typography
- Understanding Bootstrap's Grid System
- Principles for Designing a View
- Working with Forms and Bootstrap
|
Using jQuery with MVC
- What is jQuery?
- Adding jQuery to an MVC Layout and/or Page
- Understanding jQuery Selectors
- Using jQuery to Modify the DOM
- Using jQuery to POST a Form
|
Using Ajax to Build Interactive MVC Applications
- What is Ajax?
- Working with Partial Views
- Making Asynchronous Calls Using jQuery
- Working with JSON Data
|
Using jQuery UI Widgets with MVC
- What is jQuery UI?
- Including jQuery UI in an MVC Layout or View
- jQuery UI Widgets
- Working with Tabs
- Working with DatePicker
- Working with Accordian
- Working with Menu
- Working with AutoComplete
- Working with Dialog
- Working with Tooltips
- Using jQuery UI Themes
|
MVC and Routing
- Default Routing
- Custom Routes
- Why Use Custom Routes?
- Understanding RouteConfig
- Registering Convention-Based Routes
- Adding Constraints with Convention-Based Routes
- Using Attribute Routing
- Adding Constraints with Attribute Routing
|
Working with the Entity Framework
- What is the Entity Framework?
- Entity Framework Strategies
- Using Database First
- Generating the Context and Entity Classes
- Writing Basic Queries
- Performing Joins
- Interacting with Stored Procedures
- Making Database Updates
- Code First
- Designing the Data Context
- Building the Entities
- Configuring Relationships
- Seeding Tables
- Writing Basic Queries
- Performing Joins
- Interacting with Stored Procedures
- Making Database Updates
|
Creating the Service Layer Using Web API
- What is Web API?
- Exposing Services and Data
- Types of Clients that Can Work with Web API
- Creating a Web API Service
- Working with Web API Controllers
- Understanding Web API Action Results
- Working with Data
- Filtering Requests
- Routing and Web API
- Creating Web API Help Pages
- Creating REST Services with Web API
- Configuring Web API
- Securing a Web API
- Using a Web API with MVC
|
Building Single Page Applications with ASP.NET MVC, Web API
and AngularJS
- What is the Architecture of a Single-Page Application?
- What is AngularJS?
- Understanding the AngularJS Architecture
- Including AngularJS within the Page
- Building AngularJS Controllers
- Creating an AngularJS Template to Define a View
- Using CSS3 Properties to Perform Animation Effects
|
Working with NuGet
- What is NuGet?
- What Types of Packages are Available?
- Installing NuGet Packages
- Popular NuGet Packages
- .NET JSON Libraries
- Logging
- JavaScript Libraries
|
|
Benefits
- Course materials include student guide, hands-on lab manual and USB
flash drive for examples and lab work
- Students receive a certificate of completion at the end of class
- Students can retake any portion of a class that has been completed,
within 12 months at no extra cost
- There are no registration fees or cancellation fees
|