여러 루트 노드 없이 여러 사이트맵 파일을 사용하려면 어떻게 해야 합니까?
문제
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();
나는 이 방법을 사용하여 트리 뷰의 루트 노드를 숨깁니다.
제휴하지 않습니다 StackOverflow