【发布时间】:2010-12-07 10:24:06
【问题描述】:
我正在处理一个 ASP.NET MVC 任务列表,我想在过滤列表时使用 URL 路由。我有一个这样定义的操作方法:
public ActionResult List(int categoryID, bool showCompleted, TaskFilter filter);
enum TaskFilter { MyTasks, MyDepartmentTasks, AllTasks }
我希望我的网址如下所示:
/Tasks/Category4/MyTasks/ShowCompleted/
/Tasks/Category4/MyDepartment
/Tasks/Category4/
Category# 段将始终存在。我希望MyTasks|MyDepartment|AllTasks 段是可选的,如果不存在则默认为AllTasks。我还希望 ShowCompleted 是可选的,默认为 false。
这种路由是否可行,还是我必须退回并只使用查询字符串参数?
后续/额外得分问题:如果我还希望操作方法的第四个参数按任务到期日期过滤,看起来像 Today|Day2Through10(如果不存在,则默认为 Today)?
【问题讨论】:
标签: asp.net asp.net-mvc routing asp.net-mvc-routing