Les paramètres sont directement pris en charge dans MVC en ajoutant simplement des paramètres à vos méthodes d'action. Avec une action comme la suivante :
public ActionResult GetImages(string artistName, string apiKey)
MVC remplira automatiquement les paramètres lorsqu'il reçoit une URL comme celle-ci :
/Artist/GetImages/?artistName=cher&apiKey=XXX
Un autre cas particulier est celui des paramètres nommés "id". Tout paramètre nommé ID peut être placé dans le chemin d'accès plutôt que dans la chaîne de requête, ce qui donne quelque chose comme :
public ActionResult GetImages(string id, string apiKey)
serait remplie correctement avec une URL comme la suivante :
/Artist/GetImages/cher?apiKey=XXX
En outre, si vous avez des scénarios plus compliqués, vous pouvez personnaliser les règles de routage que MVC utilise pour localiser une action. Votre fichier global.asax contient des règles de routage qui peuvent être personnalisées. Par défaut, la règle ressemble à ceci :
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = "" } // Parameter defaults
);
Si vous vouliez prendre en charge une url comme
/Artist/GetImages/cher/api-key
vous pourriez ajouter une route comme :
routes.MapRoute(
"ArtistImages", // Route name
"{controller}/{action}/{artistName}/{apikey}", // URL with parameters
new { controller = "Home", action = "Index", artistName = "", apikey = "" } // Parameter defaults
);
et une méthode comme le premier exemple ci-dessus.