Các tham số được hỗ trợ trực tiếp trong MVC bằng cách thêm các tham số vào các phương thức hành động của bạn. Đưa ra một hành động như sau:
public ActionResult GetImages(string artistName, string apiKey)
MVC sẽ tự động điền các tham số khi được cung cấp một URL như:
/Artist/GetImages/?artistName=cher&apiKey=XXX
Một trường hợp đặc biệt bổ sung là các tham số có tên "id". Bất kỳ tham số có tên ID nào cũng có thể được đưa vào đường dẫn thay vì chuỗi truy vấn, vì vậy đại loại như:
public ActionResult GetImages(string id, string apiKey)
sẽ được điền chính xác với một URL như sau:
/Artist/GetImages/cher?apiKey=XXX
Ngoài ra, nếu bạn có các kịch bản phức tạp hơn, bạn có thể tùy chỉnh các quy tắc định tuyến mà MVC sử dụng để định vị một hành động. Tệp global.asax của bạn chứa các quy tắc định tuyến có thể được tùy chỉnh. Theo mặc định, quy tắc trông như thế này:
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = "" } // Parameter defaults
);
Nếu bạn muốn hỗ trợ một url như
/Artist/GetImages/cher/api-key
bạn có thể thêm một tuyến đường như:
routes.MapRoute(
"ArtistImages", // Route name
"{controller}/{action}/{artistName}/{apikey}", // URL with parameters
new { controller = "Home", action = "Index", artistName = "", apikey = "" } // Parameter defaults
);
và một phương thức như ví dụ đầu tiên ở trên.