OBJECTIVES

In this training, attendees will learn how to:

  • Define MVC on server and client side
  • Create MVC and Web API applications using ASP.NET MVC on server side
  • Create single page web applications using the MVC pattern of AngularJS
  • Understand the programming model provided by the AngularJS framework
  • Define Angular controllers and directives
  • Control Angular data bindings
  • Implement Responsive Web Applications with AngularJS

PREREQUISITES

Attendees should have some prior understanding of web development, HTML, AJAX, JavaScript, C# and database programming.

DURATION

3 Days

Outline for Web Development using ASP.NET MVC

CHAPTER 1. INTRODUCTION TO ASP.NET MVC

  • Review of ASP.NET Web Forms
  • Advantages and Disadvantages of Web Forms
  • Model-View-Controller Pattern
  • ASP.NET MVC
  • Advantages and Disadvantages of ASP.NET MVC
  • Goals of ASP.NET MVC
  • Unit Testing

CHAPTER 2. GETTING STARTED WITH ASP.NET MVC

  • An ASP.NET MVC 5 Testbed
  • Starter Application
  • Simple App with Controller Only
  • Action Methods and Routing
  • Action Method Return Type
  • Rendering a View
  • Creating a View in Visual Studio
  • The View Web Page
  • Dynamic Output
  • Razor View Engine
  • Embedded Scripts
  • Using a Model with a ViewBag
  • Controller Using the Model & ViewBag
  • View Using the Model and ViewBag
  • Using Model Directly 
  • A View Using Model in Visual Studio
  • View Created by Visual Studio
  • Passing Parameters in Query String

CHAPTER 3. ASP.NET MVC ARCHITECTURE

  • The Controller in ASP.NET MVC
  • The View in ASP.NET MVC
  • The Model in ASP.Net MVC
  • How MVC Works
  • Using Forms
  • HTML Helper Functions
  • Handling Form Submission
  • Model Binding
  • Greet View
  • Input Validation
  • Nullable Type
  • Checking Model Validity
  • Validation Summary

CHAPTER 4. THE MODEL

  • Microsoft Technologies for the Model
  • SmallPub Database
  • ADO.NET
  • Language Integrated Query (LINQ)
  • ADO.NET Entity Framework
  • SmallPub Tables
  • SmallPub Entity Data Model
  • Entity Data Model Concepts
  • Querying the EDM
  • Class Diagram
  • Context Class
  • List of Categories
  • List of Books
  • A LINQ Query
  • IntelliSense
  • Controller
  • Web.config
  • Using a Parameter
  • Modifying a Data Source
  • Entity Framework in a Class Library
  • Data Access Class Library
  • Client Code
  • ASP.NET MVC Database Clients
  • NuGet Package Manager
  • Visual Studio Extensions
  • Online Gallery
  • Entity Framework 6 via NuGet

CHAPTER 5. THE CONTROLLER

  • IController Interface
  • A Low Level Controller
  • Displaying Context
  • Add and Subtract
  • Controller Base Class
  • Action Methods
  • HomeController
  • Math Controller
  • Invoking MathController
  • Receiving Input
  • Non-Nullable Parameters
  • Nullable Parameters
  • Using a Model 
  • HTML Output
  • Filters
  • Asynchronous Controllers

CHAPTER 6. THE VIEW

  • Action Results
  • JavaScript Object Notation
  • Action Method Attributes
  • View Responsibility
  • A Program without a View
  • A Program with a View
  • View Page
  • Passing Data to the View
  • Passing Lists to the View
  • HTML Helper Methods
  • Link-Building Helpers
  • Form Helpers
  • Validation Helpers
  • Templated Helpers
  • Validation in Model
  • Validation in Controller
  • ValidationMessage Helper

CHAPTER 7. ROUTING

  • ASP.NET Routing
  • Routing in ASP.NET MVC
  • RouteCollectionExtensions Class
  • Default Values for URL Parameters
  • Using a Default Route
  • Home Controller
  • Assigning Parameter Values
  • Controller Code
  • View Code
  • Properties of Routes
  • UrlParameter Optional
  • A Problem with the Route Map
  • Matching URLs to Route
  • Route Debugging Utility
  • Multiple Matches
  • Fixing the Bug
  • Debugging Routes
  • Areas

CHAPTER 8. UNIT TESTING

  • Test-Drive Development
  • Functional Tests
  • Unit Tests
  • Test Automation  
  • Refactoring 
  • Regression Testing
  • Unit Testing in ASP.NET MVC
  • Installing UNnit via NuGet
  • A Test Class Library
  • The Model
  • Testing the Model
  • Structure of Unit Tests
  • Assertions
  • Visual Studio Unit Framework
  • Assert Class
  • Assert.AreEqual()
  • CollectionAssert Class
  • StringAssert Class
  • Test Case
  • Test Methods, Class, Runner
  • Ignoring Tests
  • Fixing the Bug
  • Testing Controllers
  • Classes with External Dependencies
  • Dependency Injection
  • Mocking Frameworks
  • Using Moq
  • Models
  • Controller
  • Index View
  • Monthly Payment View  
  • Unit Tests
  • Inversion of Control (IoC) Containers

CHAPTER 9. SECURITY

  • Web Security
  • Input Forgery
  • Cross-Site Scripting
  • Entering JavaScript
  • The Attack
  • What Allowed the Attack
  • Blocking the Attack
  • Using Razor
  • Session Hijacking
  • Cross-Site Request Forgery
  • Controller and Model Code
  • View Code
  • Attacker Code
  • The Defense
  • SQL Injection
  • Using the MVC Framework Securely
  • Authorize Attribute
  • ChildActionOnly Attribute
  • RequireHttps Attribute
  • ValidateInput Attribute

CHAPTER 10. Combining ASP.NET MVC and Web Forms

  • Using Web Forms in an MVC Application
  • Linking and Redirecting from Web Forms Pages to MVC Actions
  • Default.aspx
  • Sharing Data between ASP.NET MVC and ASP.NET Web Forms
  • Using Web Form Controls in MVC Views
  • Using MVC in a Web Forms Application
  • Steps to Create Hybrid MVC – Web Forms Application
  • Web Forms MVC Interop in VS 2013

CHAPTER 11. ASP.NET WEB API 

  • REST
  • Representation, State and Transfer
  • Collections and Elements
  • Specifying a Start Page
  • Implementing PUT Verb
  • Using Fiddler
  • Composing a Request
  • ASP.NET MVC and We API
  • Route Registration
  • HTTP Response Codes
  • POST Response Code
  • HttpResponseException
  • Web API Clients
  • HttpClient
  • Initializing HttpClient
  • Issuing a GET Request
  • Issuing a POST Request
  • Performing CRUD Operations
  • Book Repository
  • BooksController
  • View
  • Exercise the Server Using Fiddler
  • Client Code: Book Class, Program Class
  • ShowBooks()
  • AddBooks()
  • Update and Delete

CHAPTER 12. Deployment on Windows Azure

  • What is Windows Azure?
  • A Windows Azure Testbed
  • Publish to Azure
  • Import Publish Settings
  • Manage Azure Subscriptions
  • Sign into Windows Azure
  • Download Subscripion
  • File New Publish Settings
  • Create a Site on Windows Azure Publish
  • Web Deployment Completed
  • Modifying a Web Application
  • Publish to a New Site
  • Deploy to Original Site
  • Publish Preview

CHAPTER 13. CHAPTER DEPLOYMENT IN IIS 7.5

  • Internet Information Services
  • Installing IIS 7.5
  • MVC with IIS 7.5
  • .NET Framework Version
  • Registering ASP.NET
  • Convert to an Application
  • XCOPY Deployment