asp.net-mvc - MVC Preview 4 - 路由表中没有路由与提供的值匹配

标签 asp.net-mvc asp.net-mvc-routing

我有一个通过 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,这可以解释问题。我想下次我会更加注意断点处变量的值:)

最佳答案

selectedYear 是什么类型?日期时间?如果是这样,那么您可能需要转换为字符串。

关于asp.net-mvc - MVC Preview 4 - 路由表中没有路由与提供的值匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5690/

相关文章:

不等于约束的ASP.NET路由

asp.net-mvc - EF、ASP MVC + 依赖注入(inject)。多个并发请求和数据库连接的问题

asp.net-mvc - MVC 3 和 Razor ,如何在 _layout 中构建带有 _layout 的结构?

asp.net-mvc - 如何在 Asp.Net MVC 循环中呈现纯 HTML 链接?

asp.net - ASP MVC 路由 - 如何更改默认 id 参数的名称,同时保持默认路由不变

asp.net-mvc - ASP.NET MVC多语言网址/路由

c# - 在 ASP.NET MVC 中从 MySQL 查询是否有更简单的方法?

asp.net-mvc - Paypal REST API - 在支付过程中传递参数

c# - ASP.NET MVC UrlHelper.Action() 没有返回正确的路径

c# - 是否可以在同一 Controller 中使用属性路由和基于约定的路由?