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 Training
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