We will start in few minutes…
Fast track introduction to
• 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/
A little prior knowledge of ASP.NET Web form
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.
• 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
I love ASPX! Seriously??
• Let’s do a demo!
• Make a ASP.NET Web form solution
• ASPX vs the real web page
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
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
How it serves Requests? • Controller contains Action
• Every Action method can return
a View (and raw json and other
• 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
• 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
• Strongly typed!
• How we intermingled C# and HTML?
• Razor view engine – converts C# into actual HMTL @ Server
• 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
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