Możesz zdefiniować routing w samym kontrolerze. Musisz najpierw odblokować w konfuguracji MvcAttrubuteRoutes.
routes.MapMvcAttributeRoutes();
Możesz teraz nadawać atrybuty w kontrolerze, nad samym kontrolerem jak i przed konkretnymi akcjami.
[RoutePrefix(“page”)]
public class PageController : Controller
{
//...
}
W ten sposób żądania zaczynający się od page/
będą przekazywane do tego kontrolera.
[Route("{page}/{pageSize}/{productId}")]
public ActionResult Show(int page, int pageSize, int productId)
{
//...
}
W tym przypadku url /page/1/4/32
zostanie zostanie skierowany na Show(int page, int pageSize, int productId) w kontrolerze PageControler.
Zroutowałem kontroler, bo nie wiem jakie masz ustawione domyślne mapowanie routingu. Jeżeli coś takiego, to powinno zadziałać.
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);