Alternate Text

Course Outline


Course Code





29-31Aug &1-2 Sep




20,000 Baht






This course is designed for web developers with a basic knowledge of ASP.NET and C# who want to start using the ASP.NET MVC 5 framework, which provides a high-productivity programming model that promotes cleaner code architecture and more powerful extensibility. The focus will be on coding activities that enhance the performance and scalability of the Web application. Students will create websites that separates the user interface, data access, and application logic.



  • Overview of the MVC Pattern
  • Essential C# Language Features
  • Your First MVC Application
  • Working with Razor View
  • URL Routing
  • Controllers and Actions
  • HTML Helper Methods
  • Model Binding
  • Dependency Injection
  • Online Store: A Real Application
  • Online Store: Navigation
  • Online Store: Shopping Cart
  • Online Store: Administration
  • Web API



Before attending this course, students must have a minimum of two to three years of experience developing web-based applications by using Microsoft Visual Studio and Microsoft ASP.NET, proficiency in using the .NET Framework, and some familiarity with the C# language.



Module 1: Putting ASP.NET MVC in Context

  • Understanding the History of ASP.NET
  • Web Development Today
  • Key Benefits of ASP.NET MVC


Module 2: Your First MVC Application

  • Preparing Visual Studio
  • Creating a New ASP.NET MVC Project
  • Creating a Simple Data-Entry Application


Module 3: The MVC Pattern

  • The History of MVC
  • Understanding the MVC Pattern
  • Building Loosely Coupled Components
  • Getting Started with Automated Testing


Module 4: Essential Language Features

  • Preparing the Example Project
  • Using Automatically Implemented Properties
  • Using Object and Collection Initializers
  • Using Extension Methods
  • Using Lambda Expressions
  • Using Automatic Type Inference
  • Using Anonymous Types
  • Performing Language Integrated Queries
  • Using Async Methods


Module 5: Working with Razor

  • Preparing the Example Project
  • Working with the Model Object
  • Working with Layouts
  • Using Razor Expressions


Module 6: Essential Tools for MVC

  • Preparing the Example Project
  • Using Ninject
  • Unit Testing with Visual Studio
  • Using Moq


Module 7: SportsStore: A Real Application

  • Getting Started
  • Starting the Domain Model
  • Displaying a List of Products
  • Preparing a Database
  • Adding Pagination
  • Styling the Content


Module 8: SportsStore: Navigation

  • Adding Navigation Controls
  • Building the Shopping Cart


Module 9: SportsStore: Completing the Cart

  • Using Model Binding
  • Completing the Cart
  • Submitting Orders


Module 10: SportsStore: Mobile

  • Putting Mobile Web Development in Context
  • Using Responsive Design
  • Creating Mobile Specific Content


Module 11: SportsStore: Administration

  • Adding Catalog Management


Module 12: SportsStore: Security & Finishing Touches

  • Securing the Administration Controller
  • Image Uploads


Module 13: Deployment

  • Preparing Windows Azure
  • Deploying the Application


Module 14: Overview of MVC Projects

  • Working with Visual Studio MVC Projects
  • Debugging MVC Applications
  • Using Browser Link


Module 15: URL Routing

  • Preparing the Example Project
  • Introducing URL Patterns
  • Creating and Registering a Simple Route
  • Defining Default Values
  • Using Static URL Segments
  • Defining Custom Segment Variables
  • Constraining Routes
  • Using Attribute Routing


Module 16: Advanced Routing Features

  • Preparing the Example Project
  • Generating Outgoing URLs in Views
  • Customizing the Routing System
  • Working with Areas
  • Routing Requests for Disk Files
  • Bypassing the Routing System
  • URL Schema Best Practices


Module 17: Controllers and Actions

  • Preparing the Example Project
  • Introducing the Controller
  • Receiving Request Data
  • Producing Output


Module 18: Filters

  • Preparing the Example Project
  • Using Filters
  • Using Authorization Filters
  • Using Authentication Filters
  • Using Exception Filters
  • Using Action Filters
  • Using Result Filters
  • Using Other Filter Features


Module 19: Controller Extensibility

  • Preparing the Example Project
  • Creating a Custom Controller Factory
  • Working with the Built-in Controller Factory
  • Creating a Custom Action Invoker
  • Using the Built-in Action Invoker
  • Improving Performance with Specialized Controllers


Module 20: Views

  • Creating a Custom View Engine
  • Working with the Razor Engine
  • Adding Dynamic Content to a Razor View


Module 21: Helper Methods

  • Preparing the Example Project
  • Creating Custom Helper Methods
  • Using the Built-In Form Helper Methods


Module 22: Templated Helper Methods

  • Preparing the Example Project
  • Using Templated Helper Methods
  • Using Model Metadata
  • Customizing the Templated View Helper System


Module 23: URL and Ajax Helper Methods

  • Preparing the Example Project
  • Creating Basic Links and URLs
  • Using MVC Unobtrusive Ajax
  • Creating an Unobtrusive Ajax Form
  • Setting Ajax Options
  • Creating Ajax Links
  • Working with Ajax Callbacks
  • Working with JSON


Module 24: Model Binding

  • Preparing the Example Project
  • Understanding Model Binding
  • Using the Default Model Binder
  • Manually Invoking Model Binding
  • Customizing the Model Binding System


Module 25: Model Validation

  • Preparing the Example Project
  • Explicitly Validating a Model
  • Displaying Validation Messages
  • Using Alternative Validation Techniques
  • Performing Client-Side Validation
  • Performing Remote Validation


Module 26: Bundles

  • Preparing the Example Application
  • Profiling Script and Style Sheet Loading
  • Using Script and Style Bundles


Module 27: Web API and Single-page Applications

  • Understanding Single-page Applications
  • Preparing the Example Application
  • Using Web API
  • Understanding How the API Controller Works
  • Using Knockout for Single-page Applications
  • Completing the Application


Are you interested this course?

Let’s join with us to improve your skill

Alternate Text