Fast Track introduction to ASP.NET MVC

20
*Source: http://www.dilbert.com/ We will start in few minutes…

description

Fast Track introduction to ASP.NET MVC

Transcript of Fast Track introduction to ASP.NET MVC

Page 1: Fast Track introduction to ASP.NET MVC

*Source: http://www.dilbert.com/

We will start in few minutes…

Page 2: Fast Track introduction to ASP.NET MVC

Fast track introduction to

ASP.NET MVC-Ankit Kashyap

(Analyst Programmer)[email protected]

Page 3: Fast Track introduction to ASP.NET MVC

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/

Page 4: Fast Track introduction to ASP.NET MVC

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.

Page 5: Fast Track introduction to ASP.NET MVC

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

+ Demo

Page 6: Fast Track introduction to ASP.NET MVC

I love ASPX! Seriously??

• Let’s do a demo!

• Make a ASP.NET Web form solution

• ASPX vs the real web page

Page 7: Fast Track introduction to ASP.NET MVC

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

System.Web

Page 8: Fast Track introduction to ASP.NET MVC

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

Page 9: Fast Track introduction to ASP.NET MVC

MVC pattern

Page 10: Fast Track introduction to ASP.NET MVC

How it serves Requests?• Controller contains Action

methods• Every Action method can return

a View (and raw json and other formats)

Page 11: Fast Track introduction to ASP.NET MVC

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

Page 12: Fast Track introduction to ASP.NET MVC

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

Page 13: Fast Track introduction to ASP.NET MVC

View

• Strongly typed!

• How we intermingled C# and HTML?

• Razor view engine – converts C# into actual HMTL @ Server

We will see in demo!

Page 14: Fast Track introduction to ASP.NET MVC

Demo Time!!!

Page 15: Fast Track introduction to ASP.NET MVC

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

Page 16: Fast Track introduction to ASP.NET MVC

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

Page 17: Fast Track introduction to ASP.NET MVC

Partial Views

Quick Demo

Page 18: Fast Track introduction to ASP.NET MVC

Layout and _ViewStart

• Layout views are “master pages”• _ViewStart.cshtml – Code inside this view executes before every view

renders