2011-03-17 10 views
9

Tengo un código aquí en mi aplicación mvc que realiza una redirección.RedirectToAction sin querystring MVC

return RedirectToAction("Details", new { slug = viewModel.Farm.Slug }); 

Esta redirección a la URL

/Farm/Details?slug=the-farm-name 

lo que me gustaría que hiciera existe esta

/Farm/Details/the-farm-name 

es una manera simple de hacer esto?

Respuesta

6

Defina una ruta que coincida con la anterior en la Tabla de Rutas en su global.asax.

+1

Pensé que sería algo así ... Todo el enrutamiento se está acostumbrando un poco. –

+0

@James: Lo que me ayudó fue recordar que las rutas son bidireccionales: puede proporcionar una URL y devuelve parámetros, ** y ** puede darles los parámetros y genera una URL. Si no hay rutas que puedan generar una URL, recurrirá a la piratería de cadenas de consulta. –

+0

@Brant Bobby: Tiene sentido ... Lo recordaré ... ¡salud! –

1

está utilizando el enrutamiento predeterminado, donde ha definido un parámetro "id". Cambie su código para regresar

RedirectToAction("Details", new {id = viewModel.Farm.Slug });

o agregue una nueva ruta.

Cuestiones relacionadas