如何解决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}
或类似的东西。然后,这两个操作都必须采用这两个参数,一个将解释为月,另一个将解释为周。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。