Как я могу использовать несколько файлов карты сайта без нескольких корневых узлов

StackOverflow https://stackoverflow.com/questions/100435

  •  01-07-2019
  •  | 
  •  

Вопрос

Я использую элемент управления меню ASP.NET.Я бы хотел, чтобы меню выглядело следующим образом: ссылки с 1 по 10 находятся в одном файле карты сайта, а ссылки с 11 по 20 — в другом.

root
--link 1
(...)
--link 10
--link 11
(...)
--link 20

Однако файл карты сайта ДОЛЖЕН иметь корень, который я не могу скрыть.

Есть предположения?

-Эдооде

Это было полезно?

Решение

Есть ли какая-либо причина, по которой вы не можете добавить фиктивный корневой узел, а затем подклассифицировать элемент управления меню ASP.NET, чтобы игнорировать ваш фиктивный «корневой» узел?

Вы должны иметь возможность указать своему SiteMapProvider использовать разные карты сайта для меню.

Другой вопрос, который у меня возникает: какова цель создания нескольких файлов карты сайта?Я уверен, что у вас есть веская причина для этого, но знание того, что происходит, облегчит понимание и нахождение лучшего решения.

При этом я бы придумал собственную систему меню.Вы можете использовать jQuery и плагин superfish на внешней стороне и использовать C# для чтения файлов карты вашего сайта на внутренней стороне, чтобы построить структуру меню.

Другие советы

Вы можете подавить корневой узел, выполнив следующие действия:

SiteMapDataSource ds = new SiteMapDataSource();
ds.SiteMapProvider = "providername";
ds.ShowStartingNode = false;
TreeView1.DataSource = ds;
TreeView1.DataBind();

Я использую этот метод, чтобы скрыть корневой узел для древовидных представлений.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top