2011-06-26 13 views
7

En una URL como http://mysite.com/controller/action/123/name-of-article, ¿hay alguna manera de definir la ruta para que la parte '123/nombre del artículo' se pase como una cadena?Defina la ruta ASP.NET MVC con barras

Respuesta

13

se puede hacer una ruta comodín:

MapRoute("{controller}/{action}/{*id}") 
0

No estoy seguro de lo que sus requisitos son, pero ¿seguro que desea pasar el nombre del artículo al controlador? ¿Sería mejor que solo pasaras la identificación y luego hicieras SELECCIONAR desde la base de datos para obtener el nombre?

Si todavía quería tener una URL como http://mysite.com/controller/action/123/name-of-article pero sólo en el ID se puede utilizar una ruta como esta

routes.MapRoute(
       "MyNewRoute",   // Route name 
       "articles/edit/{id}/{name}",  // URL 
       new { controller = "Articles", action = "Edit", id = "" }, // Defaults 
       new[] { "YourApp.UI.Controllers" }      // Namespaces 
      ); 

A continuación, el controlador de la acción

public ActionResult Edit(int id) 
{ 

} 
Cuestiones relacionadas