我想建立一個ASP.NET MVC的路線,看起來像:帶有自定義參數轉換的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();
}
}
的問題是,我該怎麼設置從string
的idl
URL參數轉化爲List<int>
,並調用一個適當的管制員行動?
我看到related question here使用OnActionExecuting
預處理字符串,但沒有改變類型。我不認爲這適用於我,因爲當我在我的控制器中覆蓋OnActionExecuting
並檢查ActionExecutingContext
參數時,我看到ActionParameters
字典已經有一個空值的idl
鍵 - 可能是從字符串到List<int>
...這是我想要控制的路由的一部分。
這可能嗎?