我正在开发一个目录类型程序,需要在浏览和搜索期间跟踪面包屑,同时创建 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
如果有人知道此限制或可能的解决方法,我将不胜感激。