Ja, det burde nemlig virke?? Når jeg udskriver de 3 du nævner hehlers så er de rigtige nok. Jeg får ingen fejlmeddelelser, den sætter bare class="mainmenu" på allesammen.
I får lige hele koden her:
<% Dim rsmenu
Set rsmenu = ObjConn.Execute("SELECT * FROM pages WHERE mainmenu = true AND active = true ORDER BY page")
Normalt vil VBScript forsøge at konvertere typerne af dine variable så de passer sammen og til den kontekst du bruger dem i. F.eks. burde den se på "129" og 21 som to tal og hvis du f.eks. skriver
a = "129" b = 21 c = a + b
så burde det resultere i at c bliver lig med værdien 140 (da a og b konverteres til tal pga +-operatoren og fordi de begge kan konverteres til tal).
Hvis du derimod skriver
a = "129" b = 21 c = a & b
så burde de resultere at c bliver "12921" (da a og b så konverteres til strenge pga &-operatoren). For en god ordens skyld så vil "abc" + 1 altså resultere i en streng som ser således ud "abc1", idet "abc" ikke kan konverteres til et tal :)
I begge tilfælde havde variablerne en foruddefineret type af hhv. string og integer og VBScript kunnne derfor bestemme en passende konvertering.
i dit tilfælde opererers der med varianter, hvilket åbenbart gør det tingene lidt mere kompliceret for VBScript og den undlader derfor at konvertere værdiernes type så de passer sammen og derfor skal du selv sørge for at de passer sammen.
Hvis ellers ovenstående teori er korrekt, så må man altså konkludere at det er bedst selv at sørge for typecasting af sine værdier, så man er sikker på at de har samme type - med mindre man er helt sikker på hvordan tingene fungerer under motorhjelmen af VBScript...
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.