2011-06-15 10 views
6

que estoy haciendo esto:parámetros de acción a aparecer en la cadena de consulta URL en lugar de

@Url.Action("Details", "MyController", new { id = this.Model.ID }) 

Los URLcomes fuera como este:?/MyController/Info id = 1

Cómo lo consigo a formato la URL así:/myController/Detalles/1

las rutas tienen este aspecto:

routes.MapRoute("Default", "{Controller}/{Action}", new { Controller = "Home", Action = "Index" }); 
routes.MapRoute("Default-ID", "{Controller}/{Action}/{ID}"); 

Respuesta

8

el orden de La ruta importa: ambas URL son válidas, y en este caso el sistema llega primero a la cadena de consulta cuando busca una url que coincida con esa acción.

También existe la posibilidad de que tengas un problema de sensibilidad de mayúsculas y minúsculas con {ID}; no estoy seguro de eso, pero en general es mejor usar el estuche de manera consistente.

+0

Gracias - el pedido fue un descuido, ¡vaya! Funciona ahora con el orden correcto, pero el caso aparentemente no importa. Seguiré usando el mismo estuche en la ruta que en otros lugares. Gracias. –

+0

Gracias Tom, estaba teniendo el mismo problema y no pude encontrar el motivo. –

Cuestiones relacionadas