ASP.NET Core MVC with Razor Pages for beginners with Project
What you'll learn
- Write a fully functional web application using .NET Core and EF Core
- Understand razor syntax, 2-way Model Binding, CRUD database connectivity, JSON file as a database, File upload and download, Master-Slave cascading dropdowns
- State management with Cookies, Session, TempData, Consent Banner, JSON Serialization of custom types into Cookies
- Modular design with Areas, ViewImports, Layouts, Partial Views and Razor Components
- Identity and Role based Authentication and Policy based Authorization, Authentication with AJAX Requests.
- AJAX communication with ASPNET Core, Minor project on EBook style Admin panel, Ajax based inline, in-place edit, update and cancel of tabular data
- A project "Find a Doctor" is completed as the course progresses. This project covers all the common scenarios that a web developer has to deal with. . .
- Identity, Two/Multi Factor Authentication, Docker, Middleware, Migrations, WebApi
Requirements
- Some programming experience with C#
- Knowledge of html, css, javascript basics
- General understanding of databases, RDBMS
- [optional]Familiarity with any web based platform like classic ASP DOTNET, MVC or with PHP
- Knowledge of .NET Core is NOT a pre-requisite
Description
SOURCE CODE PROVIDED FOR ALL PROGRAMS, EXERCISE SOLUTIONS AND PROJECT
This is a beginner's course in ASP.NET Core.
About the Project
A project "Find a Doctor" is completed as the course progresses.
Registration and Login Modules
Role based Authentication and Authorization
SQlite as Database.
MySQL integration of the completed project is fully explained LIVE in 22 minutes
Doctors and patients can update their profiles and pictures
Patients can search for doctors of various specializations and in various cities.
AJAX based cascading dropdowns for search
JSON based database of cities
Patients can upload PDF reports
A consultation and a payment loop is fully built in this project.
Bootstrap based UI
Source code is provided in zipped form for each step of completion
Even though the project is "Find a Doctor", but it can be thought of as a "customer-service provider project". Hence, it can be modified for a website where customers search for plumbers, technicians, etc., or for a website where students search for teachers of various subjects.
Modules of the project are INTERLACED with theory topics and added consistently. The last lecture finishes the project.
Following is the table of chapters covered in this video course.
Ch 1 - Razor Pages
L01 - Introduction to Razor Pages (20 min)
L02 - Middleware Configuration (15 min)
L03 - Integrating CSS, JS and _Layout (16 min)
L04 - Inter Page Navigation and Linking of Razor Pages with Tag Helpers (10 min)
Exercises on Ch1
Find a Doctor (Project Step 1 Implementation Walkthrough)
Ch1A - ASPNET Core Application Startup (can skip for later)
L01 - Development, Staging and Production Environments
L02 - Kestrel, IIS, IISHttpServer and HTTP sys
L03 - The launchSettings json File
L04 - Logging in ASPNET Core
L05 - Storing and Reading Configuration Key Value Data
L06 - Using Options Pattern to Read Configuration
L07 - About the UseDeveloperExceptionPage Middleware
L08 - Writing a Custom Exception Page
Ch 2 - Basic Event Handling in Razor Pages
L01 - How to handle a click event (14 min)
L02 - Creating an HTML FORM with Razor Pages (15 min)
L03 - How to handle a FORM submit event (10 min)
L04 - How to handle Server Side Validation (14 min)
Exercises on Ch2
Find a Doctor (Project Step 2 Implementation Walkthrough)
Ch 3 - Database Connectivity - I
L01 - Various Database Options and the initial Setup (13 min)
L02 - Getting Started with Database INSERT of Form data (23 min)
L03 - Strategy to handle a DbUpdateException (9 min)
L04 - Composite Primary Keys and Search by PK (9 min)
L05 - Displaying Data and OnGetAsync (10 min)
L06 - Deleting Records and the Anchor Tag Helper (10 min)
L07 - Updating Records (13 min)
L08 - Checkbox in a Razor Form (13 min)
L09 - Radiobuttonlist in a Razor Form (15 min)
Exercises on Ch3
Find a Doctor (Project Step 3 Implementation Walkthrough)
Ch 4 - Modularity
L01 - ViewImports (10 min)
L02 - Razor Components (20 min)
L03 - Currency Converter Component (10 mins)
Exercises on Ch4
Find a Doctor (Project Step 4 Implementation Walkthrough)
Ch 5 - Areas and Partial Views
L01 - Concept of Areas and an Authorization Scheme (17 min)
L02 - Partial Views (19:59 mins)
Find a Doctor (Project Step 5 Implementation Walkthrough)
Ch 6 - State Management
L01 - Reading and Writing Cookies (18 min)
L02 - Consent Banner with ITrackingConsentFeature (13 min)
L03 - The Concept of Session (16 min)
L04 - Serializing DateTime into Session (9 min)
L05 - When and how to use TempData (11 min)
Ch 7 - Authentication and Authorization
L01 - Configuring Role based Authorization (15 min)
L02 - SignIn, ReturnUrl and LocalRedirect (17 min)
L03 - Displaying User Info on each Page (7 min)
L04 - SignOutAsync with Tag Helpers (8 min)
Find a Doctor (Project Step 6 Implementation Walkthrough)
Ch 7A - Identity in ASPNET Core (can skip for later)
L01 - Getting Ready for Identity based Authentication
L02 - Adding a Login Page
L03 - Adding a Registration Page
L04 - EMail Verification of an Account
L05 - Resending an Account Verification EMail
L06 - Forgot Password Functionality
L07 - Reset Password Functionality
L08 - Claim based Authorization
L09 - Layout Pages and LoginPartial for Identity
L10 - Sign Out Functionality
Ch 8 - Database Connectivity - II
L01 - Dropdownlist in a Razor Form (7 min)
L02 - Uploading file(s) and Storing in a Database (16 min)
L03 - Downloading file(s) and FileResult (11 min)
Find a Doctor (Project Step 7 Implementation Walkthrough)
Ch 9 - Ajax Communication
L01 - Ajax based POST of a Razor FORM (13 min)
L02 - Ajax based POST without a FORM (11 min)
L03 - Parameterized AJAX GET Request to a C# function (10 min)
L04 - Ajax based EBook style Admin Panel (8 min)
L05 - Authentication and Authorization with AJAX Requests (8 min)
L06 - Inline, In-place Edit, Update, Cancel of records (13 min)
L07 - Master Slave Cascading Dropdowns with Ajax (13 min)
Find a Doctor (Project Step 8 Implementation Walkthrough)
Ch 10 - Understanding LINQ Queries
L01 - SingleOrDefault, Find, FirstOrDefault, Single and First (11 min)
L02 - Where, Include and ToList (10 min)
L03 - How to Sort Records (6 min)
L04 - Direct Execution of SQL Queries and Stored Procedures (9 min)
Find a Doctor (Project Step 9 Implementation Walkthrough)
Ch 11 - Database Connectivity - III
L01 - Status of the App_Data folder in ASP.NET Core (10 mins)
L02 - XML as a database in ASP.NET Core (9 mins)
L03 - Repository Pattern and Dependency Injection with XML as Database (16 mins)
Ch 12 - Docker Containerization
L01 - What is Docker, Dockerfile, Image and Containerization
L02 - Creating a Docker Image
L03 - Running a Docker Image
L04 - Using Docker Volumes to Persist Data
L05 - Publishing to the DockerHub with Visual Studio
L06 - Pull and Run the MS SQL Server Docker Image
L07 - Connectivity to SQL Server Running in a Docker Container
Ch 13 - Database Migrations (can skip for later)
L01 - Concept of Database Migration
L02 - Configuring Visual Studio for Database Migration
L03 - Your first EF Core Migration
L04 - Migration on Alterations to a Model
L05 - SQL Scripts for Migration
Ch Last - Find a Doctor Project - Last Step
L01 - Implementation Walkthrough
L02 - Containerizing and Publishing the Project to DockerHub
L03 - Configuring the Project for MySQL
L04 - Configuring the Project for SQL Server
Who this course is for:
- Programmers and students willing to get started with ASP DOTNET Core
Instructor
I graduated in 1992 from an engineering college in India. Programming and teaching experience of 20 years in various technologies like C++, Win32, C#.NET, ASP, classic ASP.NET, ASP.NET MVC 4/5, now ASP.NET Core. When ASP.NET MVC was introduced I decided to program only in this technology, and have now specialized as an ASP.NET Core programmer. I have a good programming experience in Android also.