ASP.Net MVC路由混乱

| 我的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 \”的路由表中添加路由吗?这也没有意义,因为它使路由表膨胀。 我不了解什么(我知道这使我可以提出一些创造性的评论)?我被困住了。 谢谢 汤姆     
已邀请:
您要么需要两条路由,要么需要一个更通用的名称作为参数:
TimeEntry/{action}/{subdivision}/{year}
或类似的东西。然后,这两个操作都必须采用这两个参数,一个将解释为月,另一个将解释为周。     

要回复问题请先登录注册