Я хочу настроить маршрут ASP.NET MVC, который выглядит так:
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{idl}", // URL with parameters
new { controller = "Home", action = "Index", idl = UrlParameter.Optional } // Parameter defaults
);
Это направляет запросы, которые выглядят так ...
Example/GetItems/1,2,3
... к моему действию контроллера:
public class ExampleController : Controller
{
public ActionResult GetItems(List<int> id_list)
{
return View();
}
}
Вопрос в том, что мне настроить для преобразования параметра URL idl
из string
в List<int>
и вызова соответствующего действия контроллера?
Я видел здесь связанный вопрос, который использовал OnActionExecuting
для предварительной обработки строки, но не менял тип. Я не думаю, что это сработает для меня здесь, потому что, когда я переопределяю OnActionExecuting
в моем контроллере и проверяю параметр ActionExecutingContext
, я вижу, что в словаре ActionParameters
уже есть idl
ключ с нулевым значением - предположительно, попытка преобразования строки в _12 _... это часть маршрутизации, которую я хочу контролировать.
Это возможно?