This document outlines a presentation on ASP.NET MVC. It begins with introductions and prerequisites. The agenda includes an overview of the MVC pattern, differences between ASP.NET MVC and web forms, routing, controllers and actions, Razor views, HTML helpers and partial views, unit testing, and best practices. Live demos are promised on routing, controllers, views, models, HTML helpers, partial views, and layouts. Resources for further learning are provided at the end.
2. Fast track introduction to
ASP.NET MVC
-Ankit Kashyap
(Analyst Programmer)
ankit.Kashyap@wipro.com
3. About Me
• Proud Wiproite from last 6 yrs.
• Works as Analyst Programmer for Wipro MS-AppC team
• Web developer (+ Azure, SQL/EF; Windows Store and xamarin/android)
• @ankitwww www.linkedin.com/in/ankitwww/
4. This session
• Prerequisites:
A little prior knowledge of ASP.NET Web form
C#
Software – Visual Studio 2012/2013 express edition
• Slides Available @ http://www.slideshare.net/AnkitKashyap/fast-track-introduction-to-aspnet-mvc
• Content level – Beginners
• Demo based!! Slides for your notes.
5. Agenda
• The MVC Pattern
• ASP.NET MVC vs Web Form
• ASP.NET MVC Routing
• Controllers and Actions
• Razor Views
• HTML Helpers and Partial Views
• Unit Testing
• General Tips and best practices
6. I love ASPX! Seriously??
• Let’s do a demo!
• Make a ASP.NET Web form solution
• ASPX vs the real web page
7. ASP.NET Web forms
• Abstract away the web!
• Focus on Server side processing
• Code behind and Server control
• Table => GridView
• Click events replaces “Post” operation
• Originally design from/for late 90s technologies
• Now web standards have strengthened
• Client side programming on the rise
8. ASP.NET MVC – Design goals
• Does not replace web forms! An alternative…
• Still runs on ASP.NET
• All awesomeness still available – modules, handlers, master pages, session
state, Caching, auth.
• Embrace the web
• No illusions of state – No Page lifecycle
• Clean HTML and clean URLs
• Separation of concerns!!! – You will love it!
• Testable – Big win
10. How it serves Requests? • Controller contains Action
methods
• Every Action method can return
a View (and raw json and other
formats)
11. MVC Routing
• Routing is the magic component!
• Directs incoming requests to an MVC Controller
• Defines routes during application startup
• Map URLs to control action with parameters
• System.Web.Routing Binary – Part of ASP.NET
12. Controller
• Heart of MVC
• Contains public method called as Actions
• Method invokes by ASP.NET once routing decides the proper path
• Returns an ActionResult – Tells the framework what to do next
13. View
• Strongly typed!
• How we intermingled C# and HTML?
• Razor view engine – converts C# into actual HMTL @ Server
15. Model
• Contains business/domain logic
• Doesn’t bother about presentation of Data
• May (or may not) contains database access logic
• Server side validation for Business logic
Demo: Creating a model from POCO classes
16. HTML Helper & ViewBag
• Quick, clean and short way
• Helpers available for frequently used html elements
• ViewBag contains Key-Value dictionary pairs.
• Can be passed from Action to View