需要帮助来配置mvc路由

时间:2014-01-20 19:02:12

标签: asp.net-mvc asp.net-mvc-routing

我有一个供用户使用的日志表,并希望按userId和日期时间参数提取记录。 如何创建路由配置,以便我的网址可以是:

  

日志/用户ID /

     

日志/用户ID /年/

     

日志/用户名/年/月/

     

日志/用户名/年/月/日/

和我的行动方法如下:

[HttpGet]
public ActionResult Read(int? userId, int? year, int? month, int? day)
{

}

必然我不想只需要一条路线,如果它们是某些路线的解决方案我很欣赏它,但我希望我的动作方法的语法可能如上所述。 感谢。

1 个答案:

答案 0 :(得分:0)

只有路线中的最后一个参数才是可选的。我建议你做这样的路线:

Logs/{userid}

...并使用查询字符串表示其余参数。

Logs/{userid}?year=2014&month=1&day=20

或者,您可以将整个日期作为可选字符串传递,然后在操作中解析它:

Logs/{userId}/{date?}
Logs/{userId}/2014
Logs/{userId}/2014-01
Logs/{userId}/2014-01-20

[HttpGet]
public ActionResult Read(int userId, string date = null)
{

}