Ну, похоже, все, что мне нужно было сделать, это добавить некоторые атрибуты динамических узлов на мои контроллеры. Вы можете прочитать, как это сделать здесь . Используя пример выше, вот как это делается:
[MvcSiteMapNodeAttribute(Title = "Search", Key = "search", ParentKey = "ContractSearch", Route = "SearchRoute")]
[MvcSiteMapNodeAttribute(Title = "AdvancedSearch", Key = "ContractAdvSearch", ParentKey = "AdvSearch", Route = "AdvSearchRoute")]
[MvcSiteMapNodeAttribute(Title = "AnotherSearch", Key = "ContractAnotherSearch", ParentKey = "AnotherSearch", Route = "AnotherSearchRoute")]
public ActionResult ContractIndex()
{
//Things to do...
}
В приведенном выше примере каждый вид поиска будет правильно определен на пути крошки.
Имейте в виду, что вы должны определить различные маршруты для каждого вида «поиска», который вы хотите использовать. Итак, если вы хотите, чтобы 3 узла указывали на один и тот же URL-адрес, каждый узел должен иметь свой собственный маршрут и свой ключ, определенный в MvcSiteMapNodeAttribute
.