Sugeruję użyć MVC Sitemap provider i miękiszu chleba szlaki od niego. Konieczne będzie zbudowanie dostawcy węzła dynamicznego, ale jest to dość proste - wystarczy wykonać jedną z następujących czynności podczas budowania dynamicznych węzłów, aby upewnić się, że przepłynie się przez każdy węzeł na każdym poziomie, ale dodać go do węzłów. kolekcja u góry.
var nodes = new List<DynamicNode>();
foreach (var eventCategory in eventCategories)
{
var node = new DynamicNode
{
Key = string.Format("{0}_{1}", "home_events", eventCategory.Name),
ParentKey = "home_events",
Title = pluralize.Pluralize(eventCategory.Name),
Description = eventCategory.Description,
Controller = "event",
Action = "category"
};
node.RouteValues.Add("slug", eventCategory.Slug);
nodes.Add(node);
foreach (var e in eventCategory.Events)
{
var eventNode = new DynamicNode
{
Key = string.Format("{0}_{1}", eventCategory.Name, e.Name),
ParentKey = node.Key,
Title = e.Name,
Controller = "event",
Action = "event"
};
eventNode.RouteValues.Add("categorySlug", eventCategory.Slug);
eventNode.RouteValues.Add("slug", e.Slug);
nodes.Add(eventNode);
}
}
a potem to tylko przypadek oddanie bułkę tartą w niczym tego
Html.MvcSiteMap().SiteMapPath()
domu> Wydarzenia> maratony> Melbourne maraton
Czy kiedykolwiek znaleźć rozwiązanie? Szukam czegoś również – dreza
Dreza, Widziałem wiele osób korzystających z SiteMap. Wydaje się, że wykonuje tę pracę, ale wygląda na dość złożoną. Wybrałem po prostu sekcję na stronie, która właśnie wypełniła stosowne linki. Strona układu zawierała główne znaczniki ul dla tej listy. Wydawało mi się prostsze. –
Wiwaty za to. Tak, zajrzałem do mapy strony, a nawet użyłem jej trochę, ale miałem mnóstwo problemów, próbując zmusić ją do pracy, więc nie jestem pewien, czy to jest warte wysiłku. – dreza