Avatar billede chrisrj Forsker
04. december 2002 - 13:09 Der er 36 kommentarer og
2 løsninger

Træ menu i asp

Hvor kan man finde en enkel træmenu der er lavet i asp?

Den skal ikke med alt muligt fidder grafik.

Jeg har ledt med lys og lygte efter en, men jeg har ikke kunnet finde en i asp!!

100 points til den først kommer med den bedste!!!
Avatar billede dk_akj Nybegynder
04. december 2002 - 13:19 #1
Avatar billede medions Nybegynder
04. december 2002 - 13:21 #2
Her er en jeg har lavet for lang tid siden.. Sig lige til hvis du oxo vil ha' databasen med!

http://www.medions.dk/bransholm/

//>Rune
Avatar billede chrisrj Forsker
04. december 2002 - 13:23 #3
dk_akj -> Den er da ikke uden grafisk fidder-fadder.

medions -> så vidt jeg kan se, bruger din da et javascript. Jeg leder efter en der er i REN asp.
Avatar billede dk_akj Nybegynder
04. december 2002 - 13:33 #4
Ok, jeg forstod det som om at det ikke var et krav at den skulle have grafik


men den er faktisk så smart at du kan slå det fra.
Prøv at vælge example trees - clasic - iconless.

Ang. javascript så tror jeg ikke du finder et treeview der ikke kører javascript, komponenten her genererer javascript til klienten.

//akj
Avatar billede chrisrj Forsker
04. december 2002 - 13:36 #5
...og koster 90 $!! :(
Avatar billede dk_akj Nybegynder
04. december 2002 - 13:39 #6
???? Der står squ da *free* på "forsiden" http://www.obout.com/obout/index1.asp
Avatar billede chrisrj Forsker
04. december 2002 - 13:42 #7
Ja, men det kraver at der er installeret en komponent på serveren. Den koster!! :)

Jeg er ved at udvikle et site, hvor brugerne for det meste sidder med old nordiske maskiner og har modem. :) Det er et krav fra kundes side at det skal kører med en rimelig hastighed.
Derfor vil jeg have en, grafisk set, meget simpel menu.
Avatar billede stig3 Mester
04. december 2002 - 13:47 #8
Du kan få en trial gratis - Det er det de mener.

Se spm 36:
http://www.obout.com/obout/treeview/faq.asp
Avatar billede dk_akj Nybegynder
04. december 2002 - 13:48 #9
Så får du ikke en der er mere simpel en Rune's, og som sagt tror jeg ikke du finder nogle uden javascript.

//akj
Avatar billede dk_akj Nybegynder
04. december 2002 - 13:51 #10
Hvor ser du forresten det med de 90$ ??

Jeg har selv downloadet komponenterne til test og havde da også planer om at lægge dem på serveren.

//akj
Avatar billede stig3 Mester
04. december 2002 - 13:52 #11
Avatar billede dk_akj Nybegynder
04. december 2002 - 13:56 #12
Hmmm, Det er squ flot at de kan tillade sig at skrive FREE på alle componentsider når man ikke kan få andet end en demo :o(

Brug Rune's eks. det er simpel og sikkert også gratis :o)

//akj
Avatar billede chrisrj Forsker
04. december 2002 - 14:52 #13
Ja, det tror jeg at jeg gør. (med mindre jeg skal betale for databasen ;) )

Rune -> Ja, jeg vil gerne have databasen. Du kan sende den til mig her: chrisrj@besked.com
Avatar billede dk_akj Nybegynder
04. december 2002 - 14:55 #14
Jeg tror du kan få den for 100 pts ;o) right Rune ??

//akj
Avatar billede medions Nybegynder
04. december 2002 - 15:32 #15
OK så er den sendt :-)

//>Rune
Avatar billede chrisrj Forsker
05. december 2002 - 09:34 #16
Mange tak. ;)

Men jeg har lidt problemer med at lave "overmenu" punkterne(kan man sige det?) til links. Hvordan gør jeg det?
Avatar billede chrisrj Forsker
05. december 2002 - 09:35 #17
Her er koden, som jeg har ændret lidt i:

While NOT rs.EOF
        With Response
            SQL = "SELECT * FROM mnuChilds where mnuID=" & rs("mnuID")
            Set res = Conn.Execute(SQL)
            if not res.eof then
                .Write("<div style='Cursor:Hand; Font-Family:Verdana; Font-Size: 13px;' OnClick='showMnu(" & rs("mnuID") & ");'>" & rs("mnuNavn") & "</div>" & vbCrLf)
            else
                .Write("<div style='Cursor:Hand; Font-Family:Verdana; Font-Size: 13px;display:none;'><a href='" & rs("link") & "'>" & rs("mnuNavn") & "</a></div>" & vbCrLf)
            end if
            While NOT res.EOF
                With Response
                    .Write("<div style='Cursor:Hand; Font-Family:Verdana; Font-Size: 11px;display:none;' id='mnu" & rs("mnuID") & "'><a href='" & res("link") & "'>" & res("Mnuchnavn") & "</a></div>" & vbCrLf)
                End With
            res.MoveNext
            Wend
        End With
    rs.MoveNext
    Wend
Avatar billede medions Nybegynder
05. december 2002 - 10:17 #18
Hmm det forstår jeg ik' helt hvad du mener der... Prøv at forklar det lidt nærmere...

//>Rune
Avatar billede chrisrj Forsker
05. december 2002 - 10:29 #19
Altså:

Hvis vi siger menuen siger sådan ud:

Menu1
-menu1-1
Menu2
-menu2-1
Menu3
-menu3-1
Menu4

Så vil jeg gerne lave "Menu4" til et link. Hvordan gør jeg det?
Det virker fint på undermenu-punkterne med ovenstående kode.
Avatar billede medions Nybegynder
05. december 2002 - 10:33 #20
Ok, så prøv med dette...

<script language="JavaScript">
    function Redirect(URL) {
        document.location=URL;
    }
</script>

<%
    While NOT rs.EOF
        With Response
            SQL = "SELECT * FROM mnuChilds where mnuID=" & rs("mnuID")
            Set res = Conn.Execute(SQL)
            if not res.eof then
                .Write("<div style='Cursor:Hand; Font-Family:Verdana; Font-Size: 13px;' OnClick='showMnu(" & rs("mnuID") & "),Redirect('" & rs("overMenu") & "');'>" & rs("mnuNavn") & "</div>" & vbCrLf)
            else
                .Write("<div style='Cursor:Hand; Font-Family:Verdana; Font-Size: 13px;display:none;'><a href='" & rs("link") & "'>" & rs("mnuNavn") & "</a></div>" & vbCrLf)
            end if
            While NOT res.EOF
                With Response
                    .Write("<div style='Cursor:Hand; Font-Family:Verdana; Font-Size: 11px;display:none;' id='mnu" & rs("mnuID") & "'><a href='" & res("link") & "'>" & res("Mnuchnavn") & "</a></div>" & vbCrLf)
                End With
            res.MoveNext
            Wend
        End With
    rs.MoveNext
    Wend
%>

//>Rune
Avatar billede chrisrj Forsker
05. december 2002 - 10:47 #21
Jeg har nu denne kode:

<script language="JavaScript">
    function showMnu(id) {
        var styleCheck = document.getElementById("mnu" + id).style.display;
        //alert(styleCheck);
       
        if (styleCheck == "inline") {
            document.getElementById("mnu" + id).style.display = "none";
        }
        if (styleCheck == "none") {
            document.getElementById("mnu" + id).style.display = "inline";
        }
    }
        </script>
        <script language="JavaScript">
                function Redirect(URL) {
                document.location=URL;
                }
        </script>
        <%
    Set Conn = Server.CreateObject("ADODB.Connection")
    Conn.Open "Driver={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("db.mdb")
        SQL = "SELECT * FROM menu"
        Set rs = Conn.Execute(SQL)
    While NOT rs.EOF
        With Response
            SQL = "SELECT * FROM mnuChilds where mnuID=" & rs("mnuID")
            Set res = Conn.Execute(SQL)
            if not res.eof then
                .Write("<div style='Cursor:Hand; Font-Family:Verdana; Font-Size: 13px;' OnClick='showMnu(" & rs("mnuID") & "),Redirect('" & rs("link") & "');'>" & rs("mnuNavn") & "</div>" & vbCrLf)
            else
                .Write("<div style='Cursor:Hand; Font-Family:Verdana; Font-Size: 13px;display:none;'><a href='" & rs("link") & "'>" & rs("mnuNavn") & "</a></div>" & vbCrLf)
            end if
            While NOT res.EOF
                With Response
                    .Write("<div style='Cursor:Hand; Font-Family:Verdana; Font-Size: 11px;display:none;' id='mnu" & rs("mnuID") & "'><a href='" & res("link") & "'>" & res("Mnuchnavn") & "</a></div>" & vbCrLf)
                End With
            res.MoveNext
            Wend
        End With
    rs.MoveNext
    Wend
   
    Set rs = Nothing
    Conn.Close
    Set Conn = Nothing
%>

Den siger der er syntaksfejl i linierne 24,26,28.

linie 24:
<div style='Cursor:Hand; Font-Family:Verdana; Font-Size: 13px;' OnClick='showMnu(1),Redirect('');

Der er nok det her "Redirect('');" den brokker sig over.

Derudover viser den ikke det der står i ELSE delen!?!?
Avatar billede medions Nybegynder
05. december 2002 - 11:01 #22
<script language="JavaScript">
    function showMnu(id) {
        var styleCheck = document.getElementById("mnu" + id).style.display;
        //alert(styleCheck);
       
        if (styleCheck == "inline") {
            document.getElementById("mnu" + id).style.display = "none";
        }
        if (styleCheck == "none") {
            document.getElementById("mnu" + id).style.display = "inline";
        }
    }
    function Redirect(URL) {
    document.location=URL;
    }
</script>
        <%
    Set Conn = Server.CreateObject("ADODB.Connection")
    Conn.Open "Driver={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("db.mdb")
        SQL = "SELECT * FROM menu"
        Set rs = Conn.Execute(SQL)
    While NOT rs.EOF
        With Response
            SQL = "SELECT * FROM mnuChilds where mnuID=" & rs("mnuID")
            Set res = Conn.Execute(SQL)
            if not res.eof then
                .Write("<div style='Cursor:Hand; Font-Family:Verdana; Font-Size: 13px;' OnClick='showMnu(" & rs("mnuID") & ");Redirect('" & rs("link") & "');'>" & rs("mnuNavn") & "</div>" & vbCrLf)
            else
                .Write("<div style='Cursor:Hand; Font-Family:Verdana; Font-Size: 13px;display:none;'><a href='" & rs("link") & "'>" & rs("mnuNavn") & "</a></div>" & vbCrLf)
            end if
            While NOT res.EOF
                With Response
                    .Write("<div style='Cursor:Hand; Font-Family:Verdana; Font-Size: 11px;display:none;' id='mnu" & rs("mnuID") & "'><a href='" & res("link") & "'>" & res("Mnuchnavn") & "</a></div>" & vbCrLf)
                End With
            res.MoveNext
            Wend
        End With
    rs.MoveNext
    Wend
   
    Set rs = Nothing
    Conn.Close
    Set Conn = Nothing
%>

//>Rune
Avatar billede chrisrj Forsker
05. december 2002 - 11:04 #23
Det samme... :(
Avatar billede medions Nybegynder
05. december 2002 - 11:04 #24
? har du ik' et link til der hvor du arbejder, så jeg kan se hvad du laver... Det her lyder mækeligt!

//>Rune
Avatar billede chrisrj Forsker
05. december 2002 - 11:36 #25
Er du på MSN?
Avatar billede medions Nybegynder
05. december 2002 - 11:58 #26
Ja og ICQ... Helst ICQ! -læg dit ICQ# så adder jeg dig!

//>Rune
Avatar billede chrisrj Forsker
05. december 2002 - 12:04 #27
:( Er ikke på ICQ....
Avatar billede medions Nybegynder
05. december 2002 - 12:05 #28
Jamen så MSN da! LOL

//>Rune
Avatar billede chrisrj Forsker
05. december 2002 - 12:07 #29
Jeg har lige prøvet at tilføje dig, men det ville den ikke. Prøv at tilføje mig. :)
Avatar billede medions Nybegynder
05. december 2002 - 12:10 #30
HALO mand! Jeg har for det første ik' din mail adr! -for det andet så er det ik' den mail jeg bruger til MSN, da jeg ik' gider andre folk end dem jeg giver lov til at være på min liste!

Hvad er dit MSN#?

//>Rune
Avatar billede chrisrj Forsker
05. december 2002 - 12:12 #31
Det var da lige godt pokkers. Hvordan har du så sendt mails til mig??? Kig oppe i starten!
Avatar billede medions Nybegynder
05. december 2002 - 12:13 #32
LOL
Avatar billede medions Nybegynder
05. december 2002 - 12:23 #33
<html>
    <head>
        <title>Træ</title>
    </head>
    <body>
        <script language="JavaScript">
            function showMnu(id) {
                var styleCheck = document.getElementById("mnu" + id).style.display;
                //alert(styleCheck);
               
                if (styleCheck == "inline") {
                    document.getElementById("mnu" + id).style.display = "none";
                }
                if (styleCheck == "none") {
                    document.getElementById("mnu" + id).style.display = "inline";
                }
            }

            function Redirect(URL) {
                document.location=URL;
            }
        </script>
        <%
    Set Conn = Server.CreateObject("ADODB.Connection")
    Conn.Open "Driver={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("db.mdb")
        SQL = "SELECT * FROM menu"
        Set rs = Conn.Execute(SQL)
    While NOT rs.EOF
        With Response
            SQL = "SELECT * FROM mnuChilds where mnuID=" & rs("mnuID")
            Set res = Conn.Execute(SQL)
            if not res.eof then
                .Write("<div style='Cursor:Hand; Font-Family:Verdana; Font-Size: 13px;' OnClick=""showMnu(" & rs("mnuID") & ");Redirect('test.htm');"">" & rs("mnuNavn") & "</div>" & vbCrLf)
            else
                .Write("<div style='Cursor:Hand; Font-Family:Verdana; Font-Size: 13px;display:none;'><a href='" & rs("link") & "'>" & rs("mnuNavn") & "</a></div>" & vbCrLf)
            end if
            While NOT res.EOF
                With Response
                    .Write("<div style='Cursor:Hand; Font-Family:Verdana; Font-Size: 11px;display:none;' id='mnu" & rs("mnuID") & "'><a href='" & res("link") & "'>" & res("Mnuchnavn") & "</a></div>" & vbCrLf)
                End With
            res.MoveNext
            Wend
        End With
    rs.MoveNext
    Wend
   
    Set rs = Nothing
    Conn.Close
    Set Conn = Nothing
%>
    </body>
</html>

//>Rune
Avatar billede medions Nybegynder
05. december 2002 - 12:29 #34
<html>
    <head>
        <title>Træ</title>
    </head>
    <body>
        <script language="JavaScript">
            function showMnu(id) {
                var styleCheck = document.getElementById("mnu" + id).style.display;
                //alert(styleCheck);
               
                if (styleCheck == "inline") {
                    document.getElementById("mnu" + id).style.display = "none";
                }
                if (styleCheck == "none") {
                    document.getElementById("mnu" + id).style.display = "inline";
                }
            }

            function Redirect(URL) {
                document.location=URL;
            }
        </script>
        <%
    Set Conn = Server.CreateObject("ADODB.Connection")
    Conn.Open "Driver={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("db.mdb")
        SQL = "SELECT * FROM menu"
        Set rs = Conn.Execute(SQL)
    i=0
    While NOT rs.EOF
    i=i+1
        With Response
            SQL = "SELECT * FROM mnuChilds where mnuID=" & rs("mnuID")
            Set res = Conn.Execute(SQL)
            if not res.eof then
           
            If i = 4 Then
                .Write("<div style='Cursor:Hand; Font-Family:Verdana; Font-Size: 13px;' OnClick=""showMnu(" & rs("mnuID") & ");"">" & rs("mnuNavn") & "</div>" & vbCrLf)
            Else
                .Write("<div style='Cursor:Hand; Font-Family:Verdana; Font-Size: 13px;' OnClick=""showMnu(" & rs("mnuID") & ");Redirect('test.htm');"">" & rs("mnuNavn") & "</div>" & vbCrLf)
            End If
           
            else
                .Write("<div style='Cursor:Hand; Font-Family:Verdana; Font-Size: 13px;display:none;'><a href='" & rs("link") & "'>" & rs("mnuNavn") & "</a></div>" & vbCrLf)
            end if
            While NOT res.EOF
                With Response
                    .Write("<div style='Cursor:Hand; Font-Family:Verdana; Font-Size: 11px;display:none;' id='mnu" & rs("mnuID") & "'><a href='" & res("link") & "'>" & res("Mnuchnavn") & "</a></div>" & vbCrLf)
                End With
            res.MoveNext
            Wend
        End With
    rs.MoveNext
    Wend
   
    Set rs = Nothing
    Conn.Close
    Set Conn = Nothing
%>
    </body>
</html>

//>Rune
Avatar billede medions Nybegynder
05. december 2002 - 12:35 #35
<html>
    <head>
        <title>Træ</title>
    </head>
    <body>
        <script language="JavaScript">
            function showMnu(id) {
                var styleCheck = document.getElementById("mnu" + id).style.display;
                //alert(styleCheck);
               
                if (styleCheck == "inline") {
                    document.getElementById("mnu" + id).style.display = "none";
                }
                if (styleCheck == "none") {
                    document.getElementById("mnu" + id).style.display = "inline";
                }
            }

            function Redirect(URL) {
                document.location=URL;
            }
        </script>
        <%
    Set Conn = Server.CreateObject("ADODB.Connection")
    Conn.Open "Driver={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("db.mdb")
        SQL = "SELECT * FROM menu"
        Set rs = Conn.Execute(SQL)
    i=0
    While NOT rs.EOF
    i=i+1
        With Response
            SQL = "SELECT * FROM mnuChilds where mnuID=" & rs("mnuID")
            Set res = Conn.Execute(SQL)
           
            If i = 4 Then
                .Write("<div style='Cursor:Hand; Font-Family:Verdana; Font-Size: 13px;' OnClick=""showMnu(" & rs("mnuID") & ");"">" & rs("mnuNavn") & "</div>" & vbCrLf)
            Else
                .Write("<div style='Cursor:Hand; Font-Family:Verdana; Font-Size: 13px;' OnClick=""showMnu(" & rs("mnuID") & ");Redirect('test.htm');"">" & rs("mnuNavn") & "</div>" & vbCrLf)
            End If
            if not res.eof then
           
            else
                .Write("<div style='Cursor:Hand; Font-Family:Verdana; Font-Size: 13px;display:none;'><a href='" & rs("link") & "'>" & rs("mnuNavn") & "</a></div>" & vbCrLf)
            end if
           
            While NOT res.EOF
                With Response
                    .Write("<div style='Cursor:Hand; Font-Family:Verdana; Font-Size: 11px;display:none;' id='mnu" & rs("mnuID") & "'><a href='" & res("link") & "'>" & res("Mnuchnavn") & "</a></div>" & vbCrLf)
                End With
            res.MoveNext
            Wend
           
        End With
    rs.MoveNext
    Wend
   
    Set rs = Nothing
    Conn.Close
    Set Conn = Nothing
%>
    </body>
</html>

//>Rune
Avatar billede chrisrj Forsker
05. december 2002 - 12:46 #36
Tsk, tsk man skal da også gøre alting selv....

<html>
    <head>
        <title>Træ</title>
    </head>
    <body>
        <script language="JavaScript">
            function showMnu(id) {
                var styleCheck = document.getElementById("mnu" + id).style.display;
                //alert(styleCheck);
               
                if (styleCheck == "inline") {
                    document.getElementById("mnu" + id).style.display = "none";
                }
                if (styleCheck == "none") {
                    document.getElementById("mnu" + id).style.display = "inline";
                }
            }

            function Redirect(URL) {
                document.location=URL;
            }
        </script>
        <%
    Set Conn = Server.CreateObject("ADODB.Connection")
    Conn.Open "Driver={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("db.mdb")
        SQL = "SELECT * FROM menu"
        Set rs = Conn.Execute(SQL)
    While NOT rs.EOF
        With Response
            SQL = "SELECT * FROM mnuChilds where mnuID=" & rs("mnuID")
            Set res = Conn.Execute(SQL)
            if not res.eof then
                .Write("<div style='Cursor:Hand; Font-Family:Verdana; Font-Size: 13px;' OnClick=""showMnu(" & rs("mnuID") & ");"">" & rs("mnuNavn") & "</div>" & vbCrLf)
            Else
                .Write("<div style='Cursor:Hand; Font-Family:Verdana; Font-Size: 13px;' OnClick=""Redirect('" & rs("link") & "');"">" & rs("mnuNavn") & "</div>" & vbCrLf)
            End If
           
           
            While NOT res.EOF
                With Response
                    .Write("<div style='Cursor:Hand; Font-Family:Verdana; Font-Size: 11px;display:none;' id='mnu" & rs("mnuID") & "'><a href='" & res("link") & "'>" & res("Mnuchnavn") & "</a></div>" & vbCrLf)
                End With
            res.MoveNext
            Wend
        End With
    rs.MoveNext
    Wend
   
    Set rs = Nothing
    Conn.Close
    Set Conn = Nothing
%>
    </body>
</html>
Avatar billede medions Nybegynder
05. december 2002 - 12:53 #37
Thx 4 Poinz?

//>Rune
Avatar billede chrisrj Forsker
05. december 2002 - 12:57 #38
Havde du ikke travlt? ;)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester