MVC Preview 4 - 路由表中没有路由与提供的值匹配
Posted
技术标签:
【中文标题】MVC Preview 4 - 路由表中没有路由与提供的值匹配【英文标题】:MVC Preview 4 - No route in the route table matches the supplied values 【发布时间】: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 实际上为空,这可以解释问题。我想下次我会更加关注断点处的变量值:)
【问题讨论】:
【参考方案1】:选择什么类型的年份?日期时间?如果是这样,那么您可能需要转换为字符串。
【讨论】:
以上是关于MVC Preview 4 - 路由表中没有路由与提供的值匹配的主要内容,如果未能解决你的问题,请参考以下文章