Developing Web Applications with ASP.Net MVC 5 Course Description: The Model View Controller Framework in ASP.NET provides a new way to develop Web applications for the Microsoft.NET platform. Differing completely from traditional ASP.NET development, ASP.NET MVC facilitates a refined code structure, total control over content generation and full support for test-driven development. MVC 5 is the newest update to the popular Microsoft technology that enables you to build dynamic, data-driven websites. Like previous versions, this course shows techniques on using MVC to best advantage, with plenty of practical tutorials to illustrate the concepts. It covers controllers, views, and models; forms and HTML helpers; data annotation and validation; membership, authorization, and security. On this course, you gain the skills required to effectively use ASP.NET MVC to build Web applications. Pre-requisites: This course is designed for anyone involved in the development of Web applications using Microsoft technology. Programming experience in C# is required to our Introduction Course level, and a fundamental knowledge of HTML are assumed. Course Content:
INTRODUCTION The MVC Pattern MVC as Applied to Web Frameworks One ASP.NET New Web Project Experience ASP.NET Identity Bootstrap Templates Attribute Routing ASP.NET Scaffolding Filters The MVC Application Structure Convention over Configuration CONTROLLERS The Controller s Role A Sample Application Controller Basics Example: The Home Controller Parameters in Controller Actions VIEWS The Purpose of Views View Basics Understanding View Conventions Strongly Typed Views Understanding ViewBag, ViewData, and ViewDataDictionary View Models The Razor View Engine Code Expressions HTML Encoding Code Blocks Samples Layouts Specifying a Partial View
MODELS Modeling Sample Scaffolding Scaffolding and the Entity Framework 82 Building a Resource Responding to POST Requests Model Binding FORMS AND HTML HELPERS DATA ANNOTATIONS AND VALIDATION Using Forms The Action and the Method To GET or to POST? HTML Helpers Code example Helpers, Models, and View Data Strongly Typed Helpers Helpers and Model Metadata Templated Helpers Helpers and ModelState Other Helpers Html.ActionLink and Html.RouteLink URL Helpers Html.Partial and Html.RenderPartial Html.Action and Html.RenderAction Annotating for Validation Custom Error Messages and Localization Controller Actions and Validation Errors Custom Validation Logic Custom Annotations Other common annotations
MEMBERSHIP, AUTHORIZATION, AND SECURITY Using the Authorize Attribute Securing Controller Actions Windows Authentication Using AuthorizeAttribute to Require Role Membership Extending User Identity Storing additional user profile data Managing users and roles External Login via Oauth and OpenID Security Implications of External Logins Understanding the Security Vectors in a Web Application Threat: Cross-Site Scripting Threat: Cross-Site Request Forgery Threat: Cookie Stealing Threat: Over-Posting 200 Proper Error Reporting and the Stack Trace 207 Using Configuration Transforms 208
INTRODUCTION TO FRONT END DEVELOPMENT jquery Unobtrusive JavaScript Using jquery Ajax Helpers Ajax ActionLinks HTML 5 Attributes Ajax Forms Client Validation jquery Validation jquery UI Bootstrap Plugins Using Content Delivery Networks Script Optimizations Bundling and Minification ROUTING Uniform Resource Locators Introduction to Routing Comparing Routing to URL Rewriting Defining Attribute Routes Defining Traditional Routes MVC Areas Debugging Routes The High-Level Request Routing Pipeline RouteData ASP.NET WEB API Defining ASP.NET Web API Getting Started with Web API Writing an API Controller Async by Design: IHttpController Web API Example
SINGLE PAGE APPLICATIONS WITH ANGULARJS Understanding and Setting Up AngularJS What s AngularJS Adding AngularJS to the Site Creating Controllers, Models, and Views Services Routing Code Example DEPENDENCY INJECTION Software Design Patterns Design Pattern: Inversion of Control Design Pattern: Service Locator Design Pattern: Dependency Injection Dependency Resolution in MVC Code example with Unity INTRODUCTION TO UNIT TESTING Understanding Unit Testing and Test- Driven Development Defining Unit Testing Defining Test-Driven Development Benefits of Unit Testing Code Example
EXTENDING MVC Extending Models Turning Request Data into Models Describing Models with Metadata Validating Models Extending Views Customizing View Engines Writing HTML Helpers Writing Razor Helpers Extending Controllers Selecting Actions Filters Providing Custom Results Course Duration: 5 Days