【发布时间】:2010-09-05 13:30:27
【问题描述】:
我有一条通过 RedirectToRoute 调用的路由,如下所示:
return this.RedirectToRoute("Super-SuperRoute", new { year = selectedYear });
我也试过了:
return this.RedirectToRoute("Super-SuperRoute", new { controller = "Super", action = "SuperRoute", id = "RouteTopic", year = selectedYear });
global.asax中的路由是这样的:
routes.MapRoute(
"Super-SuperRoute", // Route name
"Super.mvc/SuperRoute/{year}", // URL with parameters
new { controller = "Super", action = "SuperRoute", id = "RouteTopic" } // Parameter defaults
);
那么为什么我会收到错误消息:“路由表中的路由与提供的值不匹配。”?
我看到 selectedYear 的类型是 var。当我尝试使用 int.Parse 转换为 int 时,我意识到 selectedYear 实际上为空,这可以解释问题。我想下次我会更加关注断点处的变量值:)
【问题讨论】:
标签: asp.net-mvc asp.net-mvc-routing