Instructor-led Online Training on

Online ASP.NET MVC Training Target Audience (India & Overseas)

Benefits of Online Training

ASP.NET MVC Online Training Syllabus

Day #1 : Introduction To ASP.NET MVC

  • Student & Faculty Introduction
  • Instructions about WebEx and DropBox access
  • What is ASP.NET MVC
  • Benefits of ASP.NET MVC
  • History of ASP.NET MVC
  • Understanding Model, View & Controller
  • Creating a Simple MVC Application
  • Understanding MVC Application Folder Structure
  • Creating a Model class
  • Creating a Controller with Action methods
  • Understanding Action methods and different type of Result types
  • Creating a Strongly-typed View with @model and accessing data using @Model
  • Understanding Nuget Package Management System

Day #2 : ASP.NET MVC Request LifeCycle and Routing System

  • Understanding ASP.NET MVC Request LifeCycle
  • Understanding MVC Routing System
  • Creating a RoutingConfig.cs in App_Start folder
  • Creating a Default route in RoutingConfig.cs file
  • Creating Custom Routes with Custom URL Patterns
  • Understanding Attribute Routing in MVC

Day #3 : Razor, HTML Helpers, Layout & Section

  • Understanding Views in MVC
  • Getting friendly with Razor Syntax
  • Using HTML Helper methods to generate HTML in View
  • Creating Custom HTML Helper methods to generate custom HTML in View
  • Using Layout.cshtml to maintain consistency across all the Views
  • Creating Sections using @section in Views and Rendering them using @RenderSection in Layout.cshtml

Day #4 : Data Passing, Forms & Model Binding in ASP.NET MVC

  • Data Passing from Controller to View using ViewBag
  • Data Passing from Controller to View using ViewData
  • Data Passing from Controller to View using TempData
  • Data Passing from Controller to View using Model and ViewModel
  • Understanding HttpGet and HttpPost attribute verbs for Action Methods
  • Understanding Model Binding feature
  • Benefits of Model Binding
  • Accessing Form data in Controller using Model Binding
  • Accessing Form data in Controller using Model Binding with ViewModel
  • Accessing Form data in Controller using Form input fields as parameters in action method

Day #5 : Form Validation in ASP.NET MVC

  • Understanding Form validation in MVC
  • Server-Side validation using ModelState.IsValid
  • using Validation attributes from System.ComponentModel.DataAnnotations
  • Downloading jQuery Validate and jQuery Unobtrusive files for Client-Side Validation
  • Using ValidationMessageFor and ValidationSummary for generating Client-Side validation messages
  • Creating Custom Validation attributes
  • Doing Validation using class-level model validation

Day #6 : Understanding LINQ

  • Anonymous Methods
  • Delegates and Lambda Expressions
  • IEnumerable
  • Extension methods
  • Implicitly-typed local variables and Anonymous types
  • LINQ Query operators
  • LINQ keywords and Syntax
  • Select Many, Grouping, Joining
  • Aggregation operator, Conversion and Caching

Day #7 : Data Access using ADO.NET Entity Framework

  • Understanding what is an ORM
  • Introduction To ADO.NET Entity Framework
  • Benefits of ADO.NET Entity Framework
  • ADO.NET Entity Framework version history
  • Understanding Different approaches of EF
  • Getting started with EF Code-First approach
  • Downloading and Installing EF using Nuget Package Manager Console
  • Writing Data access code using EF

Day #8 : Using Database Initializers, Data Annotations & Entity Framework Fluent API

  • Understanding the need of Database Initializer's
  • Using Database.SetInitializer() method
  • Understanding types of Initializer's
  • CreateDatabaseIfNotExists
  • DropCreateDatabaseAlways
  • DropCreateDatabaseIfModelChanges
  • Creating Custom Initializer using Built-in Initializer or IDatabaseInitializer Interface
  • Seeding the Database
  • Using Data Annotation attributes for Data Modeling
  • Using Data Annotation attributes for Validation
  • Using EF Fluent API for Data Modeling
  • Overriding OnModelCreating method with DbModelBuilder as parameter
  • Creating 1-to-Many relationship using Annotations and Fluent API
  • Creating Many-to-Many relationship using Annotations and Fluent API

Day #9 : Entity Framework Code-First Migration & Database-First Approach

  • Understanding the need of EF Code-First Migration
  • Using Enable-Migration command to enable migrations
  • Using Add-Migration to add a new migration file
  • Using Update-Database to apply migration files to the Database
  • Seeding the Database
  • Using Database-First approach to generate Model classes
  • Using Partial Model classes with MetadataType for validation

Day #10 : Data Access using EF with Repository & Unit Of Work pattern, Dependency Injection & IoC (Ninject)

  • Understanding Repository & Unit Of Work pattern, DI & IoC
  • Creating Repository Layer using Interfaces and Concrete classes
  • Inverting the dependencies using Inversion of Control (Ninject) at RunTime
  • Injecting dependencies using Dependency Injection (Constructor Injection)
  • Using Unit Of Work pattern to commit to the database

Day #11 : Writing our own Register and Login System(Front-End)

  • Creating User and Role Model classes
  • Creating Many-to-Many relationship between Users and Roles
  • Creating Register and Login methods
  • Using Forms Authentication
  • Hashing the Password for Security Reasons
  • Implementing custom Principal

Day #12 : Writing code to manage Users and Roles(Back-End)

  • Creating CreateUser, GetRoles, GetUserWithRoles, DeleteUser methods
  • Using Authorize attribute
  • Securing the Back-End area

Day #13 : Introduction To ASP.NET WebAPI

  • Understanding HTTP Basics
  • ASP.NET WebAPI Basics
  • Creating ASP.NET WebAPI 2 project
  • JSON basics
  • Creating action methods using IHttpActionResult
  • Serialization problems with Entity Framework
  • Writing CRUD operation methods
  • Using PostMan to Test the API's

Day #14 : Consuming WebAPI JSON Data using AJAX & jQuery DataTable

  • Consuming JSON data using jQuery DataTable
  • Using Bootstrap Model popup for CRUD operations
  • Using AJAX calls for CRUD operations
  • Securing the API Controller

Day #15-20 : Real-Time Project

We will be creating a Content Management System(CMS) using ASP.NET MVC, EF, and many other technologies. All the topics that are to be covered in project work are listed below:

  • Creating a Multi-Layered Application
  • Creating separate projects for Data, Model, ViewModel, Web and Unit Test
  • Managing package dependencies using Nuget
  • Referencing projects to other projects
  • Using Models and ViewModels
  • Using EF Fluent-API for Data Modeling
  • Storing Database connectionString in startup project .i.e Web project
  • Using EF Code-First Migration
  • Generating Repository interfaces and concrete class
  • Creating interface & concrete class for Unit Of Work
  • Inverting the dependency using Ioc(Ninject/Unity) and injecting using DI
  • Understanding Lazy & Eager loading in EF
  • Disabling Lazy loading and ProxyCreation
  • Using Include method to fetch related data using JOIN Sql Query via Entity Framework
  • User and Role Management using Identity Framework
  • CMS features: Pages, Sidebars, Menu, and Footer
  • Using RichTextEditor for Pages,Sidebars and Footer
  • jQuery DataTable
  • Writing action method for Server-Side Paging, Sorting, Filtering, and Searching
  • Returning JSON data from action method using JsonResult and Json()
  • Consuming JSON data using jQuery DataTable
  • Creating Admin area
  • Creating Custom Bootstrap HTML Helper methods
  • Using Bootstrap to style the Layout file
  • Using LINQ with EF
  • Calling Stored Procedure with EF
  • Securing MVC application: Antiforgery tokens
  • Applying Caching within MVC application for performance
  • Creating Partial views
  • Displaying notifications using TempData and Bootstrap alerts
  • Logging everything within MVC application
  • Creating Custom routes with Custom URL patterns
  • Using attribute routing
  • Using Client-Side validation using jQuery validate and Unobtrusive JS files
  • Using partial views to display Navigation and Sidebar area in Layout file
  • Restricting permissions & functionality to admin role users only using Authroize attribute
  • Optimization using Bundling and Minification in MVC application
  • Writing unit test code
  • and so on..