Parameter werden in MVC direkt unterstützt, indem Sie Ihren Aktionsmethoden einfach Parameter hinzufügen. Bei einer Aktion wie der folgenden:
public ActionResult GetImages(string artistName, string apiKey)
MVC füllt die Parameter automatisch aus, wenn eine URL wie folgt angegeben wird:
/Artist/GetImages/?artistName=cher&apiKey=XXX
Ein weiterer Sonderfall sind Parameter mit dem Namen "id". Jeder Parameter mit dem Namen ID kann in den Pfad und nicht in den Querystring eingefügt werden.
public ActionResult GetImages(string id, string apiKey)
würde korrekt mit einer URL wie der folgenden ausgefüllt werden:
/Artist/GetImages/cher?apiKey=XXX
Wenn Sie kompliziertere Szenarien haben, können Sie außerdem die Routing-Regeln anpassen, die MVC zum Auffinden einer Aktion verwendet. Ihre global.asax-Datei enthält Routing-Regeln, die angepasst werden können. Standardmäßig sieht die Regel folgendermaßen aus:
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = "" } // Parameter defaults
);
Wenn Sie eine URL wie unterstützen möchten
/Artist/GetImages/cher/api-key
Sie können eine Route hinzufügen wie:
routes.MapRoute(
"ArtistImages", // Route name
"{controller}/{action}/{artistName}/{apikey}", // URL with parameters
new { controller = "Home", action = "Index", artistName = "", apikey = "" } // Parameter defaults
);
und eine Methode wie das erste Beispiel oben.