2008-09-19 2 views
1

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

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

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

Любые мысли?

-Edoode

ответ

1

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

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

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

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

+0

Файлы Sitemap размещаются в разных разделах сайта, это меню похоже на «файл Sitemap», содержащий все ссылки. – edosoft 2008-09-19 12:56:50

2

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

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

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

Смежные вопросы