2011-02-28 2 views
4

플랫폼 :
C#으로 ASP.NET 4.0 (Webforms) 웹 사이트 개발.메가 드롭 다운과 같은 ASP.NET Menu 컨트롤 조정

상황 :
렌더링 된 ASP.NET 메뉴 컨트롤이 가로로 세 가지 수준의 데이터가 있습니다. 그리고 StaticDisplayLevels = "1"로 설정하여 메뉴가 Level1 데이터를 가로로 표시하고 level1을 onmouseover, level2 데이터를 표시하고 level2의 onmouseover, 메뉴가 level3 데이터를 표시하도록합니다.

요구 사항 :
첫 번째 레벨 2의 하위 항목이있는 경우 단일 레벨 2 및 하위 레벨 3의 데이터를 첫 번째 레벨 2 데이터 아래에 표시합니다. 그런 다음 두 번째 레벨 2와 그 자녀 (있는 경우) 등이옵니다.

Want a display like the first one. ASP.NET Menu control displays something like second 위의 이미지를 고려하십시오. 내가 갖고 싶은 것은 왼쪽에있는 것과 같은 디스플레이입니다. 그러나 ASP.NET Menu 컨트롤은 이미지를 오른쪽처럼 렌더링합니다.

나는 그물에서 높거나 낮게 해결책을 찾았다. 심지어 replacing the markup of the generated asp.net control using Menu's DataBound event and then injecting javascript hack to it 시도했습니다. 나는 그것에 성공했지만 재사용이 부족하다.

내가 갖고 싶은데 재사용 가능한 ASP.NET 메뉴 컨트롤 정적 레벨 2 (및 level3)를 구현하는 방법은 megadropdown처럼 작동하는 동적 레벨 1 이후입니다. 나는 길이 있어야하고 나는 잘못된 길로 가고 있다고 확신합니다. 어떤 아이디어?

답변

0

어떤 간단한 솔루션을 가져올 수 없습니다 확인하시기 바랍니다 설정해야합니다.

이 방법을 사용하면 계층 구조로 된 사이트 맵을 상위 xml의 상위 ID와 상위가없는 테이블로 만들 수 있습니다. 그런 다음 프로그래밍 방식으로 ASP에서 해당 메뉴의 코드 뒤에 메뉴를 만들었습니다.

0

당신은 3. 메뉴 컨트롤의 menudisplaylevel이

MaximumDynamicDisplayLevels="3" 

<asp:Menu ID="Menu1" runat="server" StaticDisplayLevels="1" 
MaximumDynamicDisplayLevels="3" DataSourceID="SiteMapDataSource1" 
Orientation="Horizontal" OnDataBound="Menu1_DataBound"> 
</asp:Menu> 
+0

원하는 것은 level1 동적, level2 정적 등과 같은 메뉴입니다. 다이나믹 레벨에 도달하면 그 아이 레벨은 정적 일 수없는 것처럼 보입니다. – naveen

+0

Image1에 나타나는 것처럼 생각하고 싶습니까 ??? –

+0

예. 정확하게 bhavik. 왼쪽 이미지. – naveen

관련 문제