0

我正在开发一个目录类型程序,需要在浏览和搜索期间跟踪面包屑,同时创建 SEO 友好的 URL。我有可以深入 5 个级别的类别,它很少见,但可能会发生。我想我遇到了一个限制,找不到任何可以解决有多少参数可用于映射的问题。

我的地图如下所示:

routes.MapRout(
     "CategoryPath",
     "products/{cat1}/{cat2}/{cat3}/{cat4}/{cat5}",
     new { controller = "CategoryPath",
          action = "Index", 
          cat1 = UrlParameter.Optional,
          cat2 = UrlParameter.Optional,
          cat3 = UrlParameter.Optional,
          cat4 = UrlParameter.Optional,
          cat5 = UrlParameter.Optional
     });

我的链接是这样创建的:

@Url.Action("Index", "CategoryPath", new { cat1 = row.Title, })
@Url.Action("Index", "CategoryPath", new { cat1 = row.Title, cat2 = subrow.Title })

因此,当链接被渲染(仅使用最多 cat4)时,它会正确渲染为

 ~/products/pruductCategory1 

~/products/productCategory1/productCategory2分别。

但是,一旦我添加 cat5,它们就会以这种方式呈现

~/CategoryPath?cat1=productCategory1 

~/products/productCategory1/productCategory2

如果有人知道此限制或可能的解决方法,我将不胜感激。

4

0 回答 0