URL Routing in MVC

This post gives a quick insight of URL Routing in MVC.

Overview

  • A Route is a URL Pattern mapped to a handler. A Handler can be physical file or a class file, that does processing
  • URL routing is about freedom from URLs referring to physical files in a web application.
  • In an MVC URL Routing, Actions are mapped to respective Controllers.

Example :

Traditional URL mapping (Web Forms Application) : “localhost/Vehicle/Detail.aspx?VehicleID=12”

This narrates that our web application contains a directory named “Vehicle” & within this folder we have a physical file “Detail.aspx”

URL Routing in MVC  Application : “localhost/Vehicle/Detail/12”

This narrates that our MVC application has a controller “VehicleController” having an Action “Detail”

When we create an MVC 4 web-application it adds following piece of code in RouteConfig.


public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}
 

How It works.

Our default routing contains  3  parameters

  1. {controller}  : Name of controller class
  2. {action} :  Name of Action within the controller class
  3. {id} : Parameter needed to process Action

For each incoming request , the MVC framework first locates the controller file, “HomeController”  & then locates the Action “Index” within the controller. Finally It passes parameter {id} to execute located Action.

It is important to note that we don’t need to mention full name of controller as it automatically appends “Controller”  to “Home” & starts locating “HomeController”

Reference :

http://msdn.microsoft.com/en-us/library/cc668201.ASPX

MVC4 – Mobile Application Template

This is my third post on Exploring MVC 4 Templates. & i will discuss“Mobile Application Template”

In Visual Studio 2010 . Create a new ASP.NET MVC4 Project.  Select “Mobile Application” from given list of Templates & click OK.

mvc_Mobile_Template

This should create a project for you with following defaults.

mvc4_Mobile_Defaults

We can see a two controller files added under Controllers Dir with a corresponding Views.

Also if we explore Scripts folder we can notice jquery Mobile library , that helps the content to dynamically fit for browsers on device.

mvc_Mobile_Scripts

Hit F5 & you should be able to see the application running.

We also need to see how will the page look like on actual device, Therefore we will launch Windows Phone 7 Emulator, & browse to our webpage url. (eg : http://localhost:62174/ )

You should be able to view the first page on your emulator.

MVC4 – Basic Project Template

This is my second post on Exploring MVC 4 Templates. & i will discuss“Basic Project Template”

In Visual Studio 2010 . Create a new ASP.NET MVC4 Project.  Select “Basic” from given list of Templates & click OK.

BasicProjectTemplate

This should create a project for you with following defaults.

mvcBasicProject

A Basic MVC project has no files under Controllers, Views & Models. Comparing with “Empty” Project,  App_Start folder contains BundleConfig.cs file & there is a Scripts folder in the solution. Project disk size is less than 30 MB.

In order to make this template working, we will add a HomeController & a Index view like we did in this post.