Skip to main content

Asp .net MVC 5 Features-Attribute based routing



Attribute based routing in MVC 5


we can define the route in the same place where action method is defined
Here we specified the route for the controller GetElectronicItems


[Route("Products/Electronics/{id}")]
     public ActionResult GetElectronicItems(string id)
     {
         ViewBag.Id = id;
          return View();
     }

To enable attribute based routing in RouteConfig.cs we need to add  the following in the RouteConfig file.

public static void RegisterRoutes(RouteCollection routes)
       {
           routes.MapMvcAttributeRoutes();
       }


Optional Parameter

We can also specify if there is any optional parameter in the URL pattern defined by the Route attribute with the “?” character.
[Route("Products/Electronics/{id?}")]
      public ActionResult GetElectronicItems(int? id) {
          ViewBag.Id = id; return View();
      }

Route constraints

We can specify the constraints like if parameter is int or string

[Route("Products/Electronics/{id:int}")]

Route Prefix

If we have multiple action methods in a controller all using the same prefix we can use RoutePrefix attribute on the controller instead of putting that prefix on every action method.
Like we can attach the following attribute on the controller
[RoutePrefix("Products")]
So now our Route attribute on our action method does not need to specify the common prefix

[Route("Electronics/{id}")]

Comments

Popular posts from this blog

Gemini software Dot net interview question for experienced

Gemini Interview questions 4-8 year experienced Dot net professional Gemini Interview questions 4-8 year experienced Dot net professional 1,Asp .net mvc request life cycle. 2,How routing works 3,Where codes for routing are written 4,What is attribute based routing in aap.net Mvc 5,Is multiple routes possible on a single action method. 6,What is action filters. 7,what is authentication and authorization filters 8,What are the types of authentication 8,What is the use of data annotation 9,Can we fire data annotation in client side. 10,What is model binding 11,what are Html helpers

Angular 4 Interview questions

Angular 4 Interview questions experienced Angular 4 Interview questions Animations Questions: How do you define transition between two states in Angular? How do you define a wildcard state? Architecture Questions: What is a good use case for ngrx/store? Can you talk about a bug related to a race condition, how to solve it and how to test it? API Questions: What does this code do: @ HostBinding ( ' class.valid ' ) isValid ; < div * ngIf = ' someObservableData | async as data; else loading ' >{{data}}</ div > < ng-template # loading > Loading Data... </ ng-template > Why would you use renderer methods instead of using native element methods? What is the point of calling renderer.invokeElementMethod(rendererEl, methodName)? How would you control size of an element on resize of the window in a component? What would be a good use for NgZone service? How would you protect a component being activated throu...

Localization in angular4 by fetching data from server using VS2017

Localization in angular4 by fetching data from server using VS2017 Localization  in angular4 by fetching data from server using VS2017 1,This is my webapi controller from where the data for localization is fetched //This is our webApi COntroller  // GET: api/local/5    [HttpGet, Route("api/local/{name}")]         public IDictionary Get(string name)         {                             Dictionary dict = new Dictionary ();                 dict.Add("user01", "Nombre");//Name                 dict.Add("user02", "Nombre del Padre");//Father Name                 dict.Add("user03", "Direccion postal");//Postal Address                 return dict.ToDictionary(p => p.Ke...