Prefiero:/Comentarios/Buscar/3? Sort = autor. La cadena de consulta es un buen lugar para pasar parámetros programáticos, especialmente si el parámetro (como en este caso) no es importante para fines de SEO. Si el parámetro tiene algún significado semántico como término de búsqueda, la primera URL sería mejor.
En un método de control se puede usar algo como esto:
public ActionResult Search(int id, string sort)
ASP.NET MVC conectar automáticamente querystring valores a los parámetros de su método.
Usar la siguiente ruta
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Comments", action = "Search", id = "" } // Parameter defaults
);
/Comentarios/search/3? Sort = autor llamará Búsqueda (3, "autor")
/Comentarios/Buscador/3 llamarán Búsqueda (3 , null)
Tenga en cuenta que la identificación es obligatoria por lo que esta url fallará: /Comentarios/Buscar
Creo que me gustaría ir para esta solución. ¿Cómo lo ruteo y configuro un valor predeterminado, ya que sort = 3 es opcional? – pistacchio
Debido a la convención sobre la configuración, tenga en cuenta que sus parámetros para su método DEBEN llamarse 'id' y 'sort' respectivamente. –
En MVC 2 puede usar UrlParameter.Optional y en el parámetro de acción usar 'int? id' en lugar de 'int id' si desea que sea opcional y'/Comments/Search' para mostrar la interfaz de usuario de búsqueda predeterminada con texto de entrada vacío. – CallMeLaNN