MVC路由 - 第三级未显示在菜单或面包屑中

时间:2015-05-14 12:33:26

标签: asp.net-mvc asp.net-mvc-5 asp.net-mvc-routing breadcrumbs mvcsitemapprovider

我正在使用Routing属性和MvcSiteMapper。一切顺利,直到我达到第三级:

[Route("productmaingroup", Name = "ProductMainGroup")]
[MvcSiteMapNode(Title = "Title 1", ParentKey = "home", Key = "ProductMainGroup", Order = 1)]
http://mysite.co.uk/myrouteprefix/productmaingroup
Home > Title 1

[Route("productsubgroup", Name = "ProductSubGroup")]
[MvcSiteMapNode(Title = "Title 2", ParentKey = "ProductMainGroup", Key = "ProductSubGroup")]
http://mysite.co.uk/myrouteprefix/productsubgroup
Home > Title 1 > Title 2

[Route("product/{id:int}", Name = "Product")]
[MvcSiteMapNode(Title = "Title 3", ParentKey = "ProductSubGroup", Key = "Product")]
http://mysite.co.uk/myrouteprefix/product/1234
NONE?!

我试图在网址和面包屑上显示上面发生的事情。我是否已达到sitemapper的限制?

1 个答案:

答案 0 :(得分:1)

我为那些遇到同样问题的人解决了这个问题。它是打破它的参数。在节点中添加一个preserveroute参数:

[Route("product/{id:int}", Name = "Product")]
[MvcSiteMapNode(Title = "Title 3", ParentKey = "ProductSubGroup", 
    Key = "Product", PreservedRouteParameters = "productID")]