Actualmente estoy trabajando en una tienda virtual usando ASP.NET MVC 2.0. Ya lo tengo todo en funcionamiento, pero la parte que me ha estado molestando es el enrutamiento. Quiero que esto:enrutamiento dinámico MVC 2.0 para nombres de categoría en una tienda electrónica
http://mystore.somewhere/my-category-1/
Hasta ahora he sido capaz de resolverlo mediante el uso de:
routes.MapRoute(
"Category",
"{alias}/{pageNumber}",
new { controller = "Categories", action = "Browse", pageNumber = 1 });
Pero esto pilla demasiado justo lo que me gustaría.
Después de leer algunas de las preguntas y respuestas en torno a este sitio, he encontrado una solución interesante particularmente que me requeriría registrar mediante programación una ruta para cada uno de mis categorías, por lo que, en esencia, que estaría haciendo
foreach (var c in Categories)
{
routes.MapRoute(
c.Name,
"{" + c.Alias + "}/{action}/...anything else",
new { controller = "Category", action = "Index" }).RouteHandler = new CateegoryRouteHandler(c);
}
¿Qué opinas? ¿Es esta una buena idea? Probablemente tenga alrededor de 200 categorías, ¿hay demasiadas "rutas" para tener en la tabla de enrutamiento? ¿Sugerirías otra solución?
Gracias.
Regards, Anže
¡Vaya! Eso funcionó como un encanto! No sabía acerca de las restricciones de ruta. ¡Muchas gracias! –
Hola @tvanfosson, ¿qué pasa con el rendimiento si hay categorías 50K. Por lo que sé, hay un almacenamiento en caché de la tabla de rutas o algo así, pero en cualquier caso, verifica desde db. –