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