我想设置一个 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 参数从 astring
转换为List<int>
并调用适当的控制器操作?
我在这里看到了一个相关的问题,它用于OnActionExecuting
预处理字符串,但没有更改类型。我不认为这对我有用,因为当我OnActionExecuting
在控制器中覆盖并检查ActionExecutingContext
参数时,我看到ActionParameters
字典已经有一个idl
带有空值的键-大概是尝试从字符串转换为List<int>
...是我想要控制的路由部分。
这可能吗?