He definido la siguiente ruta:ASP.NET MVC 3 - rutas SEO friendly personalizada
routes.MapRoute(
null,
"foo/{id}/{title}",
new { controller = "Boo", action = "Details" }
);
Cuando llamo a este método:
Url.Action("Details", "Boo", new { id = article.Id, title = article.Title })
me sale el siguiente URL:
http://localhost:57553/foo/1/Some%20text%20Š
Me gustaría crear una nueva ruta que minúscula todos los caracteres y reemplace algunos de ellos.
p. Ej.
http://localhost:57553/foo/1/some-text-s
Reglas:
Uppercase -> lowercase
' ' -> '-'
'Š' -> 's'
etc.
Cualquier ayuda sería muy apreciada!
¡Impresionante! +1. ¿Qué pasa con las rutas personalizadas frente a los ayudantes de URL? Encontré una solución similar en SO hace unos años (¿pero ahora no puedo encontrarla?) Y ahora todo el mundo está sugiriendo ayudantes de URL sobre un enrutador personalizado. –
@ šljaker, no entiendo lo que pregunta cuando dice 'rutas personalizadas contra URL helpers'. ¿Estás preguntando qué es mejor: usar una ruta personalizada que realizará esto o escribir ayudantes personalizados como Html.ActionLink, Url.Action, ...? Si este es el caso, una ruta personalizada es mucho mejor a medida que centraliza toda su lógica de enrutamiento y la forma en que se ven sus URL en las rutas que es donde debe hacerse, en lugar de dispersar dicha lógica en todo su código. Es mucho más fácil modificarlo en una sola ubicación y todos los asistentes de HTML estándar lo usarán automáticamente en toda la aplicación. –
sí, eso es lo que quería saber! ¡Gracias! –