Parameter didukung langsung di MVC dengan hanya menambahkan parameter ke metode tindakan Anda. Diberi tindakan seperti berikut:
public ActionResult GetImages(string artistName, string apiKey)
MVC akan secara otomatis mengisi parameter ketika diberi URL seperti:
/Artist/GetImages/?artistName=cher&apiKey=XXX
Satu case khusus tambahan adalah parameter bernama "id". Setiap parameter bernama ID dapat dimasukkan ke dalam path daripada querystring, jadi sesuatu seperti:
public ActionResult GetImages(string id, string apiKey)
akan diisi dengan benar dengan URL seperti berikut:
/Artist/GetImages/cher?apiKey=XXX
Selain itu, jika Anda memiliki skenario yang lebih rumit, Anda dapat menyesuaikan aturan perutean yang digunakan MVC untuk menemukan tindakan. File global.asax Anda berisi aturan perutean yang dapat disesuaikan. Secara default aturannya seperti ini:
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = "" } // Parameter defaults
);
Jika Anda ingin mendukung url seperti
/Artist/GetImages/cher/api-key
Anda bisa menambahkan rute seperti:
routes.MapRoute(
"ArtistImages", // Route name
"{controller}/{action}/{artistName}/{apikey}", // URL with parameters
new { controller = "Home", action = "Index", artistName = "", apikey = "" } // Parameter defaults
);
dan metode seperti contoh pertama di atas.
Dimulai dengan MVC 5, Anda juga dapat menggunakan Routing Atribut untuk memindahkan konfigurasi parameter URL ke pengontrol Anda.
Diskusi terperinci tersedia di sini: http://blogs.msdn.com/b/webdev/archive/2013/10/17/attribute-routing-in-asp-net-mvc-5.aspx
Ringkasan:
Pertama, Anda mengaktifkan perutean atribut
Kemudian Anda dapat menggunakan atribut untuk menentukan parameter dan tipe data opsional
sumber
Anda dapat melewati parameter sewenang-wenang melalui string kueri, tetapi Anda juga dapat mengatur rute khusus untuk menanganinya dengan cara yang tenang:
Itu bisa:
Jadi, jika seseorang menggunakan rute berikut:
Itu akan membawa mereka ke tempat yang sama contoh querystring Anda lakukan.
Contoh di atas hanyalah contoh, dan tidak menerapkan aturan dan batasan bisnis yang harus Anda atur untuk memastikan orang tidak 'meretas' URL.
sumber