ASP.
net MVC Syllabus
Overview
The Model-View-Controller (MVC) architectural pattern separates an application into three
main components: the model, the view, and the controller. The ASP.NET MVC framework
provides an alternative to the ASP.NET Web Forms pattern for creating MVC-based Web
applications. The ASP.NET MVC framework is a lightweight, highly testable presentation
framework that (as with Web Forms-based applications) is integrated with existing
ASP.NET features, such as master pages and membership-based authentication. The
MVC framework is defined in the System.Web.Mvc namespace and is a fundamental,
supported part of the System.Web namespace.
The MVC pattern helps you create applications that separate the different aspects of the
application (input logic, business logic, and UI logic), while providing a loose coupling
between these elements. The pattern specifies where each kind of logic should be
located in the application. The UI logic belongs in the view. Input logic belongs in the
controller. Business logic belongs in the model. This separation helps you manage
complexity when you build an application, because it enables you to focus on one aspect
of the implementation at a time. For example, you can focus on the view without
depending on the business logic.The course is hands-on with many example programs
and lab exercises.
Course Goals
Gain an understanding of the philosophy and architecture of WPF
Create Windows applications using the classes provided by WPF
Understand the principles of XAML and create applications using a combination of
code and XAML
Use the layout features of WPF to create flexible and attractive user interfaces
Implement event and command-driven applications with windows, menus, dialogs,
toolbars, and other common user interface features
Use more advanced features of WPF such as dependency properties, routed
events, logical resources, styles, templates, and data binding Understand the
MVC design pattern and how it’s applied in ASP.NET MVC
Recognize the benefits and drawbacks of using Asp.Net Become equipped to
make good choices about model design and use of Microsoft data access
technologies
Use Asp.Net MVC’s routing system to achieve a REST-style architecture
Building Model
Routes and URLs
Controllers
View and View Templates
Learn how to build a compelling and maintainable HTML user interface using both
the ASP.NET and new Razor view engine
Filters
See how to easily add AJAX and jQuery capabilities to an ASP.NET MVC
application
Introduction
o ASP and ASP.NET WebForms
o The MVC Design Pattern
o Unit Testing
o Managing Dependencies
ASP.NET MVC Architecture
o ASP.NET Platform
o Controllers, Models, and Views
o URL Routing
o Controller Actions
o Razor View Engine
o Extensibility
Defining the Model
o Object Relational Mapping (ORM)
o ADO.NET
o Entity Framework (EF)
o nHibernate
o Using an IoC Container
Routes and URLs
o Introduction to Routing
o Defining Routes
o Route Evaluation
o The Controller Factory
o Constraints
o Exempting URLs
o Constructing Outgoing URLs
o Unit Testing Routes
Controllers and Actions
o IController, ControllerBase, and Controller
o Defining Actions
o Action Selectors
o Action Filters
o HTTP Verbs
o HttpContext and RouteData
o Maintaining Testability
o Returning Data with ActionResult
o Parameters and the Model Binder
o Asynchronous Action Methods
Views
o View Engines
o Templates and Scaffolding
o Razor Syntax
o ViewData and ViewBag
o Strongly-Typed Views
o Layout Pages
o Custom Sections
o Partial Views
o Child Actions
o Using a ViewModel Object
HTML Helpers
o Basic Helpers
o Strongly-Typed Helpers
o Creating Custom Helpers
o Declarative Helpers
Data Validation
o Data Annotations
o Validation HTML Helpers
o ModelState
o IValidatableObject
o Client Side Validation
Authentication and Authorization
o Using Windows Authentication
o Building a Custom Account Controller
o Configuring Forms Authentication
o Using the Authorize Attribute
Ajax
o Controller Actions for Ajax
o Ajax Helpers
o Unobtrusive Ajax
o Ajax with jQuery
Web API
o Using HTTP as an Application Protocol
o Content Negotiation
o Routing
o ApiController
o MediaTypeFormatters
o Validation
o OData Queries
Customizing and Extending ASP.NET MVC
o ASP.NET MVC Pipeline
o Advanced Routing
o Custom Global Filters
o Customizing MVC Code Templates
o Creating a Custom Controller Factory
Deployment
o Server Requirements
o Configuration Options