Los parámetros se admiten directamente en MVC simplemente agregando parámetros a sus métodos de acción. Dada una acción como la siguiente:
public ActionResult GetImages(string artistName, string apiKey)
MVC completará automáticamente los parámetros cuando se le dé una URL como:
/Artist/GetImages/?artistName=cher&apiKey=XXX
Un caso especial adicional son los parámetros llamados "id". Cualquier parámetro llamado ID se puede poner en la ruta en lugar de la cadena de consulta, así que algo como:
public ActionResult GetImages(string id, string apiKey)
se rellenaría correctamente con una URL como la siguiente:
/Artist/GetImages/cher?apiKey=XXX
Además, si tiene escenarios más complicados, puede personalizar las reglas de enrutamiento que MVC usa para ubicar una acción. Su archivo global.asax contiene reglas de enrutamiento que se pueden personalizar. Por defecto, la regla se ve así:
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = "" } // Parameter defaults
);
Si quisieras apoyar una url como
/Artist/GetImages/cher/api-key
podría agregar una ruta como:
routes.MapRoute(
"ArtistImages", // Route name
"{controller}/{action}/{artistName}/{apikey}", // URL with parameters
new { controller = "Home", action = "Index", artistName = "", apikey = "" } // Parameter defaults
);
y un método como el primer ejemplo anterior.