Visita nuestros cursos en KODOTI. Click para unirte
Estudia con KODOTI. Únete

Rutas personalizadas en nuestros controladores con ASP.NET MVC 5

Veremos como personalizar de manera práctica las rutas de nuestros controladores.

Rodríguez Patiño, Eduardo
4,639 lecturas
Rodríguez Patiño, Eduardo
Hemos migrado nuestras publicaciones del blog antiguo. Si crees que esta se encuentra incompleta o sin coherencia deja un comentario para darle una pronta solución.

Tenemos 2 formas o al menos que yo sepa de crear rutas personalizadas en nuestros proyectos ASP.NET MVC 5, la primera es modificando el RouteConfig.cs y definiendo las rutas y la otra mediante el atributo Route. En esta publicación vamos hablar de la segunda opción.

RouteConfig.cs

Ve a la siguiente clase y modifica el método RegisterRoutes agregando al comienzo lo siguiente:

routes.MapMvcAttributeRoutes();

Debería quedar así:

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

    routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

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

Con esto hemos activado las rutas personalizadas para nuestros controladores.

Decora la ruta de tu controlador con el atributo Route

[Route("category/{name}")]
public ActionResult Category(string name)
{
    return View();
}

Para acceder a esta ruta debemos escribir en un comienzo "category/" y luego el parámetro que hemos especificado. En este caso ha sido el parámetro "name". Asimismo, este también deberá ser especificado como variable de entrada para nuestro método.

  • Los parámetros son definidos entre llaves. Ejm: category/{name}/{id}
  • Si queremos un parámetro opcional. Ejem: category/{name?}
¿Te gustó nuestra publicación?
Suscríbete a nuestro boletín