---
title: "Metod (Göras på annat sätt?)"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/165721-metod-göras-på-annat-sätt"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "Fredde Mannen"
published: "2007-10-22T18:27:07.000Z"
updated: "2007-10-22T18:54:01.000Z"
replies: 1
views: 300
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/asp/165721-metod-göras-på-annat-sätt"
---

# Metod (Göras på annat sätt?)

## #1 — Fredde Mannen, 2007-10-22T18:27Z

Har skapat en klass som skapar en expanderbar meny i ASP till klubbens hemsida.

Dock är den lite skum, samma god kan producera helt olika resultat.. 

Den fungerar på det sätt att varje post i en databas (id och parentid) eller om man manuellt vill skapa poster i menyn: 

```
Dim objNavTree
Set objNavTree = New NavTree

' Lägg till poster
objNavTree.Add 1, -1, "Rootelement", "Sida.asp"
objNavTree.Add 2, 1, "Barn till Rootelement", "Sida.asp"

' Visa trädet
objNavTree.BuildTree
```

Det är själva sättet att skapa menyn på, koden bakom är lite större :) Problemet som jag stöter på är att på något underligt sätt faller barn och rotelement om jag skapar den från en databas. 

Själv misstänker jag att det har med Metoden Add som skapar en post i en array med värdena id;;parentid;;name;;url

Följande är metoden Add

```
	Public Sub Add(id,parentid,name,url)
        Dim ListItem()

        if IsArray(List) Then
		    Dim n
		    n = Ubound(List) + 1
		
		    Redim ListItem(n)
		    Item = List
		    For i = 0 To Ubound(List)
			    ListItem(i) = item(i)
		    Next

		    ListItem(n) = parentid & ";;" & name & ";;" & url & ";;" & id
       Else
            Redim ListItem(0)
            ListItem(0) = parentid & ";;" & name & ";;" & url & ";;" & id
       End if     
       
       List = ListItem
	End Sub
```

Där List i denna metod är en property som skall innehålla den fyllda arrayn.. 
Kan denna göra så att någon post inte kommer med.. 

För loopar jag genom databasen och skriver ut i:

```
... kod.. 
nArray = rs.GetRows

For i = 0 To Ubound(nArray,2)
   Response.Write(i & "<br />")
   objNavTree.Add nArray(0,i), nArray(1,i), nArray(2,i), nArray(3,i)
Next
```

Så hoppar den över värden, ex 1 & 2: 
0
3
4
5
6
7
8
9

Där har den hoppat över i, vänder jag och stoppar response efter objNavTree.Add .. så resulterar det i

2
3
4
5
6
7
8
9

Då har den hoppat över 0 & 1

Kan det vara metoden som gör detta?

Permalänk: https://www.webforum.nu/p/165721

## #2 — Fredde Mannen, 2007-10-22T18:54Z

Prövade att kasta ut ID från metoden, vilket resulterade i 

```
35=51
36=36
4=4
31=31
39=39
32=32
52=52
58=58
20=20
43=43
59=59
55=55
49=49
26=26
25=25
37=37
38=38
42=42
7=7
56=56
57=57
```

Där ser man direkt en skillnad.. 35=51 bör stå 35=35 .. :l

Permalänk: https://www.webforum.nu/p/2043673

---

Tråden på webben: https://www.webforum.nu/amne/asp/165721-metod-göras-på-annat-sätt
