Contact Us: 978.250.4983
Software Skills Training, Inc.

ASP.NET MVC Programming Using C#

Attend face-to-face, remote-live or via on-demand training

ASP.NET MVC Programming Using C#

Duration: 5 Days (Face-to-Face or Remote-Live), or 35 hours of coursework with personal facilitation over a four week span (On-Demand)

US Price: $2495 (Face-to-Face or Remote-Live), or $1495 (On-Demand)

Delivery Options: Attend face-to-face in the classroom, remote-live or via on-demand training

Registration: Click here to view upcoming schedules and register for face-to-face sessions, click here to register for live remote attendance sessions, or click here to register for on-demand training with a start date that is convenient for you.

Schedule View the course schedule

Description

This course provides students with hands on experience using Visual Studio to create dynamic web applications using ASP.NET MVC, C#, and .NET Frameworks 4.0 - 4.8. The class provides a thorough introduction to the C# programming language, including coverage of the essentials of the C# programming language, built in data types, operators, control structures, classes and methods, collections and exception handling.

Students learn how to leverage the power of the Model-View-Controller design pattern with the ASP.NET MVC Framework to separate the layers of a web application. Students will use the ASPX and Razor view engines to design a user interface. Students learn how to build models to manage an application's data layer using both the Entity Framework and LINQ to SQL. Students also learn how to build controllers containing action methods to manage communication between views and models.

Other topics include data scaffolding; URL routing; implementing security; using MVC and Web Forms in the same application; unit testing; and deploying ASP.NET MVC applications. Comprehensive labs provide the students with experience creating, debugging, testing and deploying dynamic ASP.NET MVC applications.

Prerequisites

Knowledge of fundamental HTML syntax is helpful, but not required. Prior experience with a scripting or programming language is required.

Course Overview

Introduction to .NET
  • Overview of the .NET Framework
  • How .NET is Different from Traditional Programming
  • Common Language Runtime (CLR)
  • Common Language Specification (CLS)
  • Common Type System (CTS)
  • .NET Assemblies
  • Microsoft Intermediate Language (CIL)
  • .NET Namespaces
  • .NET Framework Class Library
Introduction to Visual Studio
  • Creating a Project
  • Using the Code Editor
  • Correcting Syntax Errors
  • Setting Project Properties
  • Adding References
  • Compiling a Program
  • Running a Program
  • Debugging a Program
  • Using the MSDN (Help)
Language Fundamentals
  • C# Program Structure
  • Defining Namespaces
  • Understanding C# Data Types
  • Defining Variables and Constants
  • Comparing Value Types vs. Reference Types
  • Working with Operators and Expressions
  • Performing Type Conversions
  • Using Console I/O
  • Formatting Numbers, Date and Times
Conditionals and Looping
  • if/else
  • switch
  • while and do/while
  • for
  • foreach
Methods and Parameters
  • Defining Static and Instance Methods
  • Passing Parameters by value and by reference
  • Overloading Methods
  • Using Variable Length Parameter Lists
Exception Handling
  • What are Exceptions?
  • .NET Exception Hierarchy
  • Catching Exceptions
  • Throwing Exceptions
  • Managing Resources with Finally
Collections
  • Defining and Using Arrays
  • Understanding System.Array
  • .NET Collections vs Generic Collections
  • Working with Lists
  • Working with Dictionaries
  • Using LINQ to Objects
Object-Oriented Programming
  • Overview of Object-Oriented Programming
  • Building Classes
  • Defining Properties
  • Using Auto-Implemented Properties
  • Defining Methods
  • Understanding Constructors
  • Extending .NET Classes via Inheritance
  • Defining and Implementing Interfaces
  • Understanding the Role of Interfaces in .NET
Overview of ASP.NET MVC
  • Overview of Model-View-Controller Design Pattern
  • ASP.NET MVC Application Architecture
  • Understanding the MVC Execution Process
  • Building an ASP.NET MVC Application Using Visual Studio
  • Visual Studio MVC Project Templates
  • Using a web.config File
Developing Controllers
  • Creating Controllers
  • Defining Action Methods
  • Mapping URLs to Action Methods
  • Understanding ActionResult Types
  • Working with ViewData and ViewBag
Developing Views
  • Creating Views
  • Understanding View Engines
  • Using the ASMX View Engine
  • Using the Razor View Engines
  • Using HTML Helpers
  • Adding Validation
  • Working with Strongly-Typed Views
Developing Models
  • Creating Model Classes
  • Working with the Entity Framework
  • Working with LINQ to SQL
  • Using Scaffolding
Routing Control
  • Understanding Routing in ASP.NET MVC
  • Defining URL Routes
  • Registering Routes
  • Adding Constraints to Routes
  • Debugging Routes
Integrating ASP.NET MVC and Web Forms
  • What are Web Forms
  • Using Web Forms in an MVC Application
  • Using MVC in a Web Form Application
  • Linking to MVC Actions from Web Forms
MVC Unit Testing
  • Test-Driven Development
  • Designing Test Cases
  • Creating Unit Tests
  • Using MS Test
Securing MVC Applications
  • ASP.NET Security
  • Windows vs Forms Authentication
  • Configuring Authentication
  • Configuring Authorization
  • Building a Secure Web Site
  • Defending against Attacks
    • Cross-site Scripting
    • Session Hijacking
    • SQL Injection
    • Input Forgery
Deploying ASP.NET MVC Applications
  • Understanding Deployment Issues
  • Required MVC Assemblies
  • Server Requirements
  • Configuring an ASP.NET Application for Deployment
  • Using XCOPY Deployment
  • Using WebDeploy

Related Training

Course
ASP.NET MVC Programming for Experienced C# Programmers
ASP.NET MVC Programming Using C# and .NET6
ASP.NET MVC Programming for Experienced C# Programmers Using .NET6
Advanced MVC: Building Web Applications Using the ASP.NET Web API with C#

Training Locations

Choose a city below to view a schedule for in-person classes. Courses may also be taken via our Online Remote Attendance and On-Demand training options.