Tengo problemas con una restricción específica que estoy tratando de configurar en una ruta. Mi URL debe tener el siguiente aspecto: http://hostname/id-my-title-can-be-that-long donde id está compuesta solo con un dígito y el título es un carácter en minúsculas con un separador de guiones. La identificación y el título también están separados por un guion. Por ejemplo: http://hostname/123-my-title.restricción de ruta regex ASP.NET MVC
Aquí es mi definición de rutas:
routes.MapRoute(
"Test",
"{id}-{title}",
new { controller = "Article", action = "Index" },
new { id = @"(\d)+", title = @"([a-z]+-?)+" }
);
La URL se genera correctamente con el ayudante del html:
<%: Html.ActionLink("My link", "Index", "Article", new { id = Model.IdArticle, title = Model.UrlTitle }, null) %>
donde, por supuesto, Model.IdArticle es un Int32 y un Model.UrlTitle cadena preformada de mi título que coincida con mis requisitos (minúsculas solamente, espacio reemplazado por guiones).
El problema es que, cuando sigo el enlace, no se llama al método & controlador correcto, se cae a la siguiente ruta que es incorrecta.
Para los registros, estoy en ASP.NET MVC 2.
Cualquier persona tiene una idea?
Gracias de antemano, Fabian
Finalmente, separaremos la ID del título con una calificación incorrecta. Aún me estoy preguntando por qué esto no funciona, pero ya no está bloqueando. ¡Gracias por tu ayuda! –