MVC Preview 4-路由表中没有路由与提供的值匹配
时间:2020-03-05 18:38:33 来源:igfitidea点击:
我有一条通过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实际上为null,这可以解释问题。我想下一次我将在断点处更加关注变量的值:)
解决方案
回答
选择什么类型年份?日期时间?如果是这样,那么我们可能需要转换为字符串。