Я использую MVC3, C# 4, Razor, MvcSiteMapProvider V4.Проблемы с привязкой узла XML в mvc.SiteMap к маршрутам в global.asa?
Я пытаюсь привязать свои MvcSiteMapNodes в файле mvc.sitemap явно к моим маршрутам в моей global.asa. Но, похоже, это не работает. Без сомнения, я что-то пропустил.
мои маршруты в global.asa:
routes.MapRoute("Report", "Report/{ClientId}", new { controller = "Report", action = "Index", ClientId = UrlParameter.Optional });
routes.MapRoute("Report_Section", "Report/{ClientId}/Section/{ReportId}", new { controller = "Section", action = "FilterByReport", ReportId = UrlParameter.Optional });
Часть моего mvc.sitemap:
<mvcSiteMapNode title="Reports" controller="Report" action="Index" preservedRouteParameters="ClientId" route="Report">
<mvcSiteMapNode title="Sections" route="Report_Section">
Так мои 2 URL-адреса являются:
Отчеты Маршрут:
Report/10
Reports_Sections R Oute:
Report/10/Section/100
Я не получаю признание на втором маршруте, и, следовательно, крошка след не отображается на соответствующей странице. Я надеялся, просто указав атрибут «route» в mvc.sitemap, mvcSiteMapProvider свяжет эти два.
Мысли. Где я ошибся?
Большое спасибо
EDIT:
Кажется, что мне нужно указать «контроллер» и «действие» в «mvc.sitemap» и «маршрут» сам по себе не будет работать.
<mvcSiteMapNode title="Sections" controller="Section" action="FilterByReport" route="Report_Section" preservedRouteParameters="ClientId,ReportId">
Спасибо вам за это. Я использую XML mvc.SiteMap только в настоящее время. Однако мне, возможно, придется начать использовать DynamicNodeProviders. – SamJolly