노드의 하위 항목이 표시되는 SiteMap 파일에서 수직적 인 정적 ASP 메뉴를 작성하려고합니다. 현재 선택됨. 예를 들어, 내 사이트 맵은 말 :정적 ASP에서 현재 노드의 하위 항목 표시 : 메뉴
항목 1
항목 2
- Child2.1
- Child2.2
항목 3
- Child3.1
- 홈에 Child3.2
페이지 (항목 1)에서 정적 메뉴를 다음과 같이 나타내겠습니다.
항목 1
항목 2
항목 3
이 항목 2 또는 Child2.1 페이지에서 I를 있었, 내 정적 메뉴를 표시 할뿐만 :
항목 1
항목 2
- Child2.1
- Child2.2
항목 3
Menu_DataBound 동안 MasterPage에서 프로그래밍 방식으로이 작업을 수행하려고했지만 지금까지 실패했습니다. 내 사이트의 주요 내비게이션은 이미 동적 메뉴를 사용하기 때문에 두 번째 계층 탐색에이 메뉴를 사용하고 싶지 않습니다. ASP를를 사용하는 대신에
: 메뉴, 나는 레이블의 코드를 구축 시도했다 :
Protected Sub LeftNavMenu_DataBound(sender As Object, e As System.EventArgs) Handles
LeftNavMenu.DataBound
If LeftNavMenu.Items.Count > 0 Then
Dim item As MenuItem
For Each item In LeftNavMenu.Items
DisplayChildMenuText(item)
Next
Else
lblNav.Text = "The Menu control does not have any items."
End If
End Sub
Sub DisplayChildMenuText(ByVal item As MenuItem)
If item.Selected Then
lblNav.Text &= "<li><span class=""active""></span><a href=""" & item.NavigateUrl & """>" & item.Text & "</a></li>"
If item.ChildItems.Count > 0 Then
Dim childItem As MenuItem
lblNav.Text &= "<ul>"
For Each childItem In item.ChildItems
lblNav.Text &= "<li><a href=""" & childItem.NavigateUrl & """>" & childItem.Text & "</a></li>"
Next
lblNav.Text &= "</ul>"
End If
Else
lblNav.Text &= "<li><a href=""" & item.NavigateUrl & """>" & item.Text & "</a></li>"
End If
End Sub
나는 (상위 계층 링크 항목 2를 해요 경우 올바른 탐색을 표시, Item3), 하위 페이지를 선택하면 실패합니다.
다른 답변이있는 경우 진심으로 사과드립니다. 이것은 상당히 초보적인 요청과 ASP 메뉴에 내장되어야하는 것 같지만 솔루션을 찾기 위해 수 주일 동안 노력했습니다. 내가 잘못된 키워드를 찾고있을뿐입니다.