路线模式匹配,但所需的操作方法没有被调用 - Orchard 1.7

时间:2013-08-23 11:02:28

标签: asp.net-mvc-4 orchardcms

我有一组问题,每个问题都有几个标签。每个标签都是可点击的,并且应该根据它来过滤问题。

我有一个标签路线:

new RouteDescriptor
{
     Priority = -29,
     Route = new Route(
     "questions/tagged/{tag}",
     new RouteValueDictionary {
          {"area","xxx.Intrust"},
          {"controller","Question"},
          {"action","DisplayByTag"},
          {"tag", ""}
     },
     new RouteValueDictionary {
          {"tag",@"\w*/*"}
     },
     new RouteValueDictionary{
          {"area","xxx.Intrust"}
     },
     new MvcRouteHandler())
},

典型的标记网址如下所示: http://local.intrustknowsbusiness.com/lendinng/questions/tagged/minimum%20opening%20deposit

但我总是得到404错误。

我调试了代码,但控制器中没有Action方法(通常我喜欢看" DisplayByTag" 正在被调用)。

我做错了什么?我的其他路由工作正常,相应的方法也会被调用。

我完全陷入困境。请帮忙!

1 个答案:

答案 0 :(得分:2)

清单:

  • 为您的路线提供更高的优先级 - 大于0(例如100)
  • 检查控制器(以及IRouteProvider的实施)的功能是否已启用

顺便说一句 - 避免在路径中使用空格(编码为%20)。这可能会带来很多麻烦。更好地将它们编码为破折号等。