Параметры напрямую поддерживаются в MVC путем простого добавления параметров в методы действий. Учитывая действие, подобное следующему:
public ActionResult GetImages(string artistName, string apiKey)
MVC автоматически заполнит параметры при указании URL-адреса, например:
/Artist/GetImages/?artistName=cher&apiKey=XXX
Еще один особый случай - это параметры с именем «id». Любой параметр с именем ID может быть помещен в путь, а не в строку запроса, например:
public ActionResult GetImages(string id, string apiKey)
будет правильно заполнен URL-адресом, подобным следующему:
/Artist/GetImages/cher?apiKey=XXX
Кроме того, если у вас есть более сложные сценарии, вы можете настроить правила маршрутизации, которые MVC использует для поиска действия. Ваш файл global.asax содержит правила маршрутизации, которые можно настроить. По умолчанию правило выглядит так:
routes.MapRoute(
"Default",
"{controller}/{action}/{id}",
new { controller = "Home", action = "Index", id = "" }
);
Если вы хотите поддержать URL, например
/Artist/GetImages/cher/api-key
вы можете добавить такой маршрут:
routes.MapRoute(
"ArtistImages",
"{controller}/{action}/{artistName}/{apikey}",
new { controller = "Home", action = "Index", artistName = "", apikey = "" }
);
и метод, подобный первому примеру выше.