01. august 2006 - 01:31Der er
4 kommentarer og 1 løsning
Dynamisk variabel navn
Hej.
Jeg har brug for at navngive en variabel dynamisk.
Prøv at se følgende forkorte kode eksempel: e_1=SSAddTopLevelMenu("...") SSAddMenuItem , e_1, ""
Jeg har brug for at variablen e_1 har et dynamisk navn - så den fx hed e_2 e_3 etc. Den får navnet fra databasen rsSQL("id"). Så hvis man kunne skrive: e_&rsSQL("id") = ... , så ville det jo være perfekt.
Er der en work around? Er kørt lidt træt i det. Jeg kan vel lave en eller anden form for slave variabel som henviser til e_x. Det er for lang tid siden jeg har skrevet ASP.
parameteren til Execute er altså blot en streng som indeholder vbscript-kode, så pas på med strengafgrænsere (det er derfor jeg har brugt dobbeltanførselstegn i værditildelingen).
Ad 2.: Et array kan indeholde variabelværdier som du kan finde frem ved et indeks. Denne metode er lidt mindre intuitiv, men da du i forvejen benytter tal i dit variabelnavn er det måske en OK måde at gøre det på...
Ad 3.: Det er som sagt lidt det samme som 2, men med den forskel at du kan bruge de dynamiske variabelnavn som nøgler i dit dictionary, hvilket giver en mere naturlig og intuitiv måde at referere dine variable på.
Set e = Server.CreateObject("Scripting.Dictionary") e.Add "e_" & rsSQL("id"), SSAddTopLevelMenu("...")
og dette kan naturligvis køres i en løkke som du får lagt alle værdierne fra database-udtrækket over i dit dictionary-objekt. Dette gælder naturligvis også de andre 2 metoder ovenfor... :)
Det med point er ikke så vigtigt, bare du får nogle muligheder for at løse din udfordring :)
Synes godt om
Ny brugerNybegynder
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.