私のカスタムルートは:
routes.MapRoute(
name: "custom",
url: "{controller}/{action}/{category}/{subcategory}/{lowcategory}/{id}/{ignore}",
defaults: new { controller = "Home", action = "Index", category = UrlParameter.Optional, subcategory = UrlParameter.Optional, lowcategory = UrlParameter.Optional, id = UrlParameter.Optional,ignore = "" }
);
Mvc.sitemap
は:
<mvcSiteMapNode title="Home" controller="Home" action="Index" preservedRouteParameters="category,subcategory,lowcategory,id,ignore">
<mvcSiteMapNode title="About" controller="Home" action="About"/>
私のIndex
機能は次のとおりです。
public ActionResult Index(string category, string subcategory, string lowcategory, int? id)
- ノードが表示され
preservedRouteParameters
ません。なぜですか? - 以下に説明するようにノードを表示する方法。
URL :http://localhost:59328/Home/Index/mobiles
予想されるサイトマップ:Home > mobiles
URL:http://localhost:59328/Home/Index/mobiles/htc
予想されるサイトマップ:Home > mobiles > htc
URL:http://localhost:59328/Home/Index/mobiles/htc/m8
予想されるサイトマップ:Home > mobiles > htc > m8
Url:http://localhost:59328/Home/Index/mobiles/htc/m8/12/title
予想されるサイトマップ: Home > mobiles > htc > m8 > title
(メモ ID はサイトマップに含まれていません)
しかし、実際のサイトマップは常にHome