【发布时间】:2011-04-14 20:59:10
【问题描述】:
我的 ASP.Net MVC 2 站点有以下 URL:
http://localhost:1919/TimeEntry/SummaryForWeek/15/2011
http://localhost:1919/TimeEntry/SummaryForMonth/4/2011
这两个都走这条路:
routes.MapRoute
(
"TimeEntryActionMonthYear", // Route name
"TimeEntry/{action}/{month}/{year}", // URL with parameters
new { controller = "TimeEntry", action = "Summary", month = UrlParameter.Optional, year = UrlParameter.Optional } // Parameter defaults
);
SummaryForWeek 的操作需要一个名为“weekNumber”的参数(上面 URL 中的 15 值),而正在使用的路由正在传递一个名为“month”的参数,因此 weekSummary 的 URL 失败。将 SummaryForWeek 的参数从一周重命名为一个月是没有意义的,只是为了让路由正常工作。
我是否应该将路由添加到路由表,其中 {action} 硬编码为“SummaryForWeeks”?这也没有意义,因为它会使路由表膨胀。
我有什么不明白的(我知道这为我打开了一些有创意的 cmets 的大门)?我被卡住了。
谢谢
汤姆
【问题讨论】:
标签: asp.net-mvc-2 routes