2012-09-06 1 views
0

사용자가 범주를 클릭하고 클릭 한 범주의 하위 범주를 표시하는 내 웹 사이트의 드릴 다운 메뉴를 bhuild하려고 시도하면 n 수준이있을 수 있습니다. 내가 원하는대로 출력 exactaly를 반환하는 SQL 쿼리를 작성할 수 있지만 문제는 ... 최종 사용자에게 전체 메뉴를 표시하고 싶지 않고 클릭 한 카테고리 만 열거 나 확장하려고합니다. 그들은 부모 때문에 형식 SQL 쿼리 결과 웹 메뉴

my Query output is: 

1 IPTV 
2  Jadoo Tv 
3  Shava Tv 
4  Jalva Tv 
5 Programming 
6  Microsoft 
7   Asp.Net 
8  PHP 

그래서 기본 IPTV & 프로그래밍에 의해

가 표시 될 경우, 내가 IPTV를 클릭하면 내가 N-수준이있을 수 말했듯이, IPTV의 아이를 열어야합니다.

나는 웹 페이지에 쿼리 결과를로드 한 다음 CSS/javascript를 사용하여 메뉴 탐색을 제어 할 수 있다고 생각했습니다.

혹시 의견이 있으십니까?

+0

코드를 추가 할 수 있습니까? – jtheman

+0

코드 작성 방법을 알아 내려고하고 있습니다. 지금까지 나는 웹 페이지에 메뉴를로드하고 모든 하위 범주에 대해 CSS 설정을 "none"으로 설정 한 다음 모든 범주에 대해 GET 매개 변수로 범주 트리를 전달할 것이라고 생각합니다. 예를 들어 Asp.net의 경우 2,3,4 (2 = 프로그래밍, 3 = Microsoft, 4 = Asp.net)를 전달한 다음 코드를 사용하여이 하위 범주 만 표시 및 숨기기로 설정합니다. 이 접근법에 대해 어떻게 생각하십니까? – highwingers

+0

네, 아마도 좋은 접근 방법입니다. SQL 쿼리가 메뉴 항목의 배열을 반환하도록 만든 다음 항목을 루프 아웃하고 각 클래스에 클래스 또는 ID를 추가 한 다음 CSS 또는 CSS와 JS의 조합을 사용하여보기를 제어합니다. – jtheman

답변

0

괜찮습니다. 다음은 마크 업을위한 전체 코드입니다 (sql sp 결과를 얻은 후).

Private Sub CreateLeftMenu() 

    Dim dt As DataTable = DAL.ReturnMSSQLData("EXEc CategoryTree") 
    Dim str As New StringBuilder 

    Dim catname As String = "" 
    Dim catid As Integer = 0 
    Dim parent As Integer = 0 
    Dim sort As String = "" 
    Dim keys As Array 

    Dim display As String = "none" 

    For Each item As DataRow In dt.Rows 

     catname = Replace(item("CatName"), " ", " ") 
     catid = item("id") 
     parent = item("parent") 
     sort = item("sort") 

     If parent = 0 Then 
      str.Append("<div class='group_" & parent & "'><a href='/pages/index.aspx?cat=" & sort & "' id='group_" & catid & "'>" & catname & "</a></div>") 
     Else 

      If Len(Me.GroupID) > 0 Then 
       keys = Split(Me.GroupID, "_") 

       For Each item1 As String In keys 
        If CInt(item1) = parent Then 
         str.Append("<div class='group_" & parent & "' style='display:block'><a style='text-decoration:none' href='/pages/index.aspx?cat=" & sort & "' id='group_" & catid & "'>" & catname & "</a></div>") 
        Else 
         'str.Append("<div class='group_" & parent & "' style='display:none'><a style='text-decoration:none' href='/pages/index.aspx?cat=" & sort & "' id='group_" & catid & "'>" & catname & "</a></div>") 
        End If 
       Next 

      End If 



     End If 

    Next 

    LMenu.Text = str.ToString 

End Sub