I parametri sono supportati direttamente in MVC semplicemente aggiungendo parametri ai metodi di azione. Data un'azione come la seguente:
public ActionResult GetImages(string artistName, string apiKey)
MVC popolerà automaticamente i parametri quando viene assegnato un URL come:
/Artist/GetImages/?artistName=cher&apiKey=XXX
Un altro caso speciale è rappresentato dai parametri "id". Qualsiasi parametro denominato ID può essere inserito nel percorso anziché nella stringa di query, quindi qualcosa di simile a:
public ActionResult GetImages(string id, string apiKey)
verrebbe popolato correttamente con un URL come il seguente:
/Artist/GetImages/cher?apiKey=XXX
Inoltre, se si hanno scenari più complicati, è possibile personalizzare le regole di routing utilizzate da MVC per individuare un'azione. Il file global.asax contiene regole di routing che possono essere personalizzate. Per impostazione predefinita, la regola è simile alla seguente:
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = "" } // Parameter defaults
);
Se volessi supportare un URL come
/Artist/GetImages/cher/api-key
potresti aggiungere un percorso come:
routes.MapRoute(
"ArtistImages", // Route name
"{controller}/{action}/{artistName}/{apikey}", // URL with parameters
new { controller = "Home", action = "Index", artistName = "", apikey = "" } // Parameter defaults
);
e un metodo come il primo esempio sopra.