여러 루트 노드 없이 여러 사이트맵 파일을 사용하려면 어떻게 해야 합니까?

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