2012-09-05 51 views
0

我需要的路线是这样配置ASP.NET MVC路线:
http://localhost/{productName}/{featureName}
其中productName = productId + URL friendly product name,例如1-some-product-name和featureName = featureId + URL friendly feature name,例如1 - 一些特征名称

为了实现我写了下面的路线:
需要用相同的约束

routes.MapRoute(
      name: "ConcreteFeatureRoute", 
      url: "{productName}/{featureName}", 
      defaults: new { controller = "Feature", action = "FeatureDetails" }, 
      constraints: new { productName = @"\d+?-[^/]*", featureName = @"\d+?-[^/]*" } 
     ); 

但结果我得到System.InvalidOperationException: No route in the route table matches the supplied values.
我怎么能做到这一点与路由的配置? 谢谢。

+1

您可以发布哪个方法抛出此异常吗?您还可以尝试设置[路由调试器](http://haacked.com/archive/2008/03/13/url-routing-debugger.aspx)以帮助解决您的问题。 – nemesv

+0

也调试Glimpse(http://getglimpse.com/) – robasta

+0

现在我知道我的错误是什么,所以问题是,我应该如何编写路由配置值来获取URL中的地址? – Azat

回答

0

需要使用一个静态关键字来查找指定的网址