Я хочу настроить маршрут 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();
}
}
Вопрос в том, что мне настроить для преобразования idl
параметра url из string
в List<int>
и вызова соответствующего действия контроллера?
Я видел связанный здесь вопрос , который использовал OnActionExecuting
для предварительной обработки строки, но не изменил тип. Я не думаю, что это сработает для меня, потому что, когда я переопределяю OnActionExecuting
в моем контроллере и проверяю параметр ActionExecutingContext
, я вижу, что в словаре ActionParameters
уже есть ключ idl
с нулевым значением - предположительно, попытка приведения из строки в List<int>
... это часть маршрутизации, которую я хочу контролировать.
Возможно ли это?