Search code examples
asp.net-mvcasp.net-mvc-4asp.net-mvc-routingactionmethod

Implementing Routes for dynamic actions in MVC 4.0


Is it possible to define a route in MVC that dynamically resolves the action based on part of the route?

public class PersonalController
{
  public ActionResult FriendGroup()
  {
      //code
  }

  public ActionResult RelativeGroup()
  {
      //code
  }

  public ActionResult GirlFriendGroup()
  {
      //code
  }
}

I want to implement a routing for my Group Action Method below

Url: www.ParlaGroups.com/FriendGroup
     www.ParlaGroups.com/RelativeGroup
     www.ParlaGroups.com/GirlFriendGroup

routes.MapRoute(
    "Friends",
    "/Personal/{Friend}Group",
    new { controller = "Personal", action = "{Friend}Group" }
);
routes.MapRoute(
    "Friends",
    "/Personal/{Relative}Group",
    new { controller = "Personal", action = "{Relative}Group" }
);
routes.MapRoute(
    "Friends",
    "/Personal/{GirlFriend}Group",
    new { controller = "Personal", action = "{GirlFriend}Group" }
);

How can i do the above routing implementation?


Solution

  • public class PersonalController
    {
      public ActionResult FriendGroup()
      {
       //code
      }
    
      public ActionResult RelativeGroup()
      {
       //code
      }
    
      public ActionResult GirlFriendGroup()
      {
       //code
      }
    }
    
     Url: www.ParlaGroups.com/FriendGroup
          www.ParlaGroups.com/RelativeGroup
          www.ParlaGroups.com/GirlFriendGroup
    
    
     routes.MapRoute(
      "Friends",
      "/{action}",
      new { controller = "Personal"}
     );