Home About Courses Schedule Services Webinars Contact Search

ASP.NET MVC 4 Using C#


Duration: 3.0 days

Method: Instructor led, Hands-on workshops

Price: $1800.00

Course Code: NE2204


This course is designed for experienced application developers and architects responsible for Web applications in a Microsoft environment.


This course provides a practical hands-on introduction to developing Web applications using ASP.NET MVC 4 and C#. This new Web development framework from Microsoft emphasizes separation of concerns in the architecture and testability of applications. The course includes important newer features in MVC such as the Razor View Engine, scaffolding and Web API.The course covers the fundamentals of the Model-View-Controller design pattern and its implementation in ASP.NET MVC. This technology is compared with classical ASP.NET Web Forms. The two technologies share a common ASP.NET infrastructure. Visual Studio 2012 with .NET 4.5 is used as a productive platform for creating ASP.NET MVC applications. After presenting the fundamentals of the technology with several examples, the main components of Model, Controller and View are covered in detail. The discussion of the Model incorporates modern Microsoft data access technologies, including LINQ and ADO.NET Entity Framework 5. The routing mechanism of ASP.NET MVC is covered. The course introduces automated unit testing of Web applications, one of the chief advantages of the new technology. Security is covered, with some hands-on illustrations of attacks and defenses against them. The course includes a discussion of how ASP.NET MVC and Web Forms can be used together in the same application. The course concludes with an introduction to ASP.NET Web API. Appendices cover scaffolding, code first data modeling, and deployment on IIS 7.5.Numerous programming examples and exercises are provided. The student will receive a comprehensive set of notes and all the programming examples.


Upon successful completion of this course, the student will be able to:

  • Gain a thorough understanding of the philosophy and architecture of Web applications using ASP.NET MVC
  • Acquire a working knowledge of Web application development using ASP.NET MVC 4 and Visual Studio 2012
  • Access databases using ADO.NET, LINQ, and Entity Framework 5
  • Perform automated testing of Web applications created using ASP.NET MVC
  • Implement security in ASP.NET MVC applications
  • Combine ASP.NET MVC and Web Forms when appropriate
  • Create HTTP services using ASP.NET Web API


The student should have a good working knowledge of C# and the .NET Framework. Basic knowledge of ASP.NET and HTML is also required.


  • I. Introduction to ASP.NET MVC
    • Review of ASP.NET Web Forms
    • Advantages and Disadvantages of Web Forms
    • Model-View-Controller Pattern
    • Advantages and Disadvantages of ASP.NET MVC
    • Unit Testing
  • II. Getting Started with ASP.NET MVC
    • Installing ASP.NET MVC
    • Using Visual Studio
    • Hello World for ASP.NET MVC
    • Rendering Views
    • Dynamic Output
  • III. ASP.NET MVC Architecture
    • The Controller in ASP.NET MVC
    • The View in ASP.NET MVC
    • The Model in ASP.NET MVC
    • Helper Methods for HTML
    • Form Submission
    • Model Binding
    • Input Validation
  • IV. The Model
    • Microsoft Technologies for the Model
    • ADO.NET
    • LINQ
    • ADO.NET Entity Framework 5
    • NuGet Package Manager
  • V. The Controller
    • IController Interface
    • Controller Base Class
    • Actions
    • Retrieving Data from a Request
    • Action Results
    • Action Attributes
    • Filters
    • Asynchronous Controllers
  • VI. The View
    • View Responsibility
    • Using ViewData
    • Loosely-Typed Views
    • Strongly-Typed Views
    • Using Dynamic Objects
    • Html Helpers
    • Razor View Engine
    • Using ViewBag
    • Validation Attributes
  • VII. Routing
    • Routing in ASP.NET MVC
    • Properties of Routes
    • Parameters in Routing
    • Registering Routes
    • Debugging Routes
    • Areas
    • Unit Testing
    • Test-Driven Development
    • Test Automation
    • Refactoring
    • NUnit
    • Test Cases
    • Test Classes
    • Test Runners
    • Testing ASP.NET MVC Applications
    • Dependency Injection
    • Mocking Frameworks
    • Inversion of Control Containers
  • VIII. Security
    • Input Forgery
    • Cross-Site Scripting
    • Session Hijacking
    • Cross-site Request Forgery
    • SQL Injection
    • Using the MVC Framework Securely
  • IX. Combining ASP.NET MVC and Web Forms
    • Using Web Forms in an MVC Application
    • Using MVC in a Web Forms Application
  • X. ASP.NET Web API
    • Web API
    • Representational State Transfer
    • REST and Web API
    • HTTP Services Using Web API
    • Using Fiddler
    • CRUD Operations
    • Web API Clients
  • XI. Appendix A. Learning Resources
  • XII. . Appendix B. Databases via Scaffolding and Code First
    • Scaffolding
    • Code First Data Modeling
  • XIII. Appendix C. Deployment in IIS 7.5
    • IIS 7.5
    • MVC with IIS 7.5
    • XCOPY Deployment