Saya ingin menyiapkan rute ASP.NET MVC yang terlihat seperti:
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{idl}", // URL with parameters
new { controller = "Home", action = "Index", idl = UrlParameter.Optional } // Parameter defaults
);
Itu merutekan permintaan yang terlihat seperti ini...
Example/GetItems/1,2,3
...untuk tindakan pengontrol saya:
public class ExampleController : Controller
{
public ActionResult GetItems(List<int> id_list)
{
return View();
}
}
Pertanyaannya adalah, apa yang harus saya atur untuk mengubah parameter url idl
dari string
menjadi List<int>
dan memanggil tindakan pengontrol yang sesuai?
Saya telah melihat pertanyaan terkait di sini yang menggunakan OnActionExecuting
untuk memproses string terlebih dahulu, tetapi tidak mengubah jenisnya. Saya rasa itu tidak akan berhasil untuk saya di sini, karena ketika saya mengganti OnActionExecuting
di pengontrol saya dan memeriksa parameter ActionExecutingContext
, saya melihat bahwa kamus ActionParameters
sudah memiliki kunci idl
dengan nilai nol- mungkin, percobaan cast dari string ke List<int>
... ini adalah bagian dari perutean yang ingin saya kendalikan.
Apakah ini mungkin?