在ASP.Net MVC中,是否可以为路由定义可能存在未知数量的参数?例如,假设以下代码:
public void Sample(params String[] args) {}
我们可以在[Route("Product/{id}")]
之类的路线中模仿相同的概念,以便我们得到以下结果:
/Product/PID_01/PID_02/PID_03,....
答案 0 :(得分:2)
是的,可以使用catch-all路线:
[Route("foo/{group}/{*id}")]
public IActionResult Foo(string group, string id)
{
var ids = id.Split('/');
// Do your stuff
}
然后转到:
您还可以定义自定义ModelBinder
以避免在控制器代码中拆分。