---
title: "Hjälp översätta ASP ..."
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/160858-hjälp-översätta-asp"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "Travoni"
published: "2007-05-28T16:04:45.000Z"
updated: "2007-06-12T14:53:50.000Z"
replies: 6
views: 632
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/dotnet/160858-hjälp-översätta-asp"
---

# Hjälp översätta ASP ...

## #1 — Travoni, 2007-05-28T16:04Z

Hej, hur skulle denna funktion kunna översättas till .net?

```
Function Path(cmd, p)
Dim node(4)
Dim nodes

    Set rs = Server.CreateObject("ADODB.Recordset")
    Set nodes = Server.CreateObject("Scripting.Dictionary")
    
    rs.Open cmd
    Do Until rs.EOF 
	
        node(0) = rs("pageid")
        node(1) = rs("parentpageid")
        node(2) = rs("linktext")
        node(3) = rs("url")
        node(4) = rs("target")
        
        nodes.Add CStr(node(0)), node
        
        p.Value = rs("sp_parent_pageid").Value 
        rs.Close 
        rs.Open cmd    
    Loop
    rs.Close 

    Set Path = nodes
End Function
```

Jag har börjat här, men jag har fastnat... :)

```
    Private Function path() As StringDictionary
        Dim queryString As String = "SELECT pageid, parentpageid, linktext, url, target FROM pages WHERE parentpageid = 0 ORDER BY parentpageid"
        Dim node(4) As String
        nodes = New StringDictionary()
        Dim ds As New DataSet
        Dim da As New MySqlDataAdapter
        Dim connection As New MySqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings("connectionString").ConnectionString)
        command = New MySqlCommand(queryString, connection)
        command.CommandText = queryString
        da.SelectCommand = command
        connection.Open()
        da.Fill(ds, "pages")

        For Each r As DataRow In ds.Tables("pages").Rows
            node(0) = r.Item(0)
            node(1) = r.Item(1)
            node(2) = r.Item(2)
            node(3) = r.Item(3)
            node(4) = r.Item(4)
            nodes.Add(CStr(r.Item(0)), node.ToString)
            'Public Prop PageId as Long
            PageId() = r.Item(1)
        Next
        connection.Close()
        Return nodes
    End Function
```

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

## #2 — emission, 2007-05-28T16:41Z

Frågan är lite vad du är ute efter. Den returnerade DataTable:n innehåller ju egentligen det du behöver. 

Som ren info så är det i och för sig ingen toppenlösning om man vill ha en ren och effektiv arkitektur, men vad du gör beror ju lite på vad du vill ha.

En bra lösning skulle exempelvis:

\-Flytta ut databaskopplingen till ett separat datalager
\-Använda en egen klass för sidinformationen (PageInfo) som fylls på av/från datalagret
\-Returnera en IDictionary\<int,PageInfo\> (generisk dictionary med  int (pageid är väl int?) som nyckel). IDictionary(Of Integer,PageInfo) i VB.NET

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

## #3 — Travoni, 2007-05-28T22:11Z

Du har säkert rätt emission. Men jag fattar inte hur jag skall gå vidare, eftersom att jag inte är helt säker på .net's alla funktioner. 
Här är en länk till hela menyfunktionen "jag" gjort för länge sedan.
<http://www.webforum.nu/showthread.php?p=1186636#post1186636>

Alltså, det som det hela skall göra är att visa en meny rekursivt samt öppna hela noden vars submenyer är öppna.

```
[B]Bilar[/B]
      Volvo
      [B]Saab[/B]
            99
            [B]95[/B]
      Fiat
Båtar
Flygplan
```

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

## #4 — Travoni, 2007-05-31T20:54Z

Något litet tips kanske?

Nägon som har en liten hint...? Jag vet inte i vilken ända jag skall börja.
Funkar det att endast (efter db-anropet) använda Datatablen med select()-utryck kanske?

Det är inte mega-mycket som skall visas kanske max 70 noder då borde det gå att moffa in allt i en datatable som jag väljer ut valda delar ur eller...?
Jag googlade lite på IDictionary utan större framgång.

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

## #5 — Travoni, 2007-06-05T09:26Z

Inget tips på hur jag kan gå vidare?

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

## #6 — emission, 2007-06-05T18:36Z

Sorry att jag glömde bort dig. 

Det råkar inte vara så att du skulle kunna använda ASP.NETs TreeView-kontroll för ändamålet? Om du dessutom kombinerar det med CSS Adapters, så kan du med CSS-filer styra utseendet så att det inte blir så TreeView-aktigt.

<http://www.asp.net/CSSAdapters/TreeView.aspx>

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

## #7 — Travoni, 2007-06-12T14:53Z

Ok, det är kanske ett alternativ, men det skulle också vara nice å lära sig hur jag kan göra med en dictionary och asp.net

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

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/160858-hjälp-översätta-asp
