我的ASP.Net MVC 2网站有以下网址:
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”吗?这没有任何意义,因为它会使路线表膨胀。
我不理解的是什么(我知道这会让我有些创意评论)?我被卡住了。
由于
汤姆
答案 0 :(得分:1)
您需要两条路线,或者您需要更通用的参数名称:
TimeEntry/{action}/{subdivision}/{year}
或类似的东西。然后两个动作都必须采用这两个参数,一个将解释为月份,另一个解释为星期。