Jeg gætter på at du vil have indføjet koden og udført den på grundlag af en tekst som er en slags makro...?
Du kan ikke umiddelbart udskrive ASP-kode med response.write og få den udført. Du er nød til at generere noget validt VBScript-kode, som kan udføres med VBS-kommandoen Execute. Execute forstår dog ikke ASP-tags (<% og %>), så hele teksten skal være valid VBS-kode. Det betyder bla., at alt det der er HTML-kode i din tekst, skal laves om til Response.Write-kommandoer. Som du kan fornemme begynder det at blive en lidt mere besværlig proces, at omdanne din makro til udførbar kode på denne måde.
Et alternativ er at lave en separat side som du kalder med Server.Execute.
Hvad skal det bruges til? Umiddelbart ville jeg jo synes der måtte være andre måder hvorpå du kan opnå din funktionalitet...
Den første Execute-kommando jeg omtalte var VBScript's egen Execute-kommando. Den anden var Server.Execute, men Server.Execute er en del af ASP's framework og derfor betragter jeg det ikke som en del VBS, men bare en service der stilles til rådighed af ASP-frameworket (ligesom f.eks. Response.Write, Request.Form osv.).
Anyway! I dit tilfælde skal du have lavet den tekst om til noget VBS-kode som ser således ud:
Response.Write "<stront>her er html</stront><br><br><u>test</u><br>" if login = "yes" then Response.Write "skjult tekst hvis man ikke er logget ind" end if
Hvilket i en streng ville se således ud: vbskode = "Response.Write ""<stront>her er html</stront><br><br><u>test</u><br>""" & vbCrLf & _ "if login = ""yes"" then" & vbCrLf & _ " Response.Write ""skjult tekst hvis man ikke er logget ind""" & vbCrLf & _ "end if"
Husk det er vigtigt at få linieskiftene med, da VBS ikke har andre måder at skelne mellem statements på end linieskiftene.
Metoden kunne være noget i stil med dette:
START: Udtag tekst frem til næste "<%" Hvis første ikke-mellemrumstegn efter "<%" = "=" så Udskriv det efterfølgende statement med en "Response.Write" Ellers Inføj linieskift og indsæt kommandoerne frem til næste "%>" Slut hvis Hvis slutning af tekst ikke er nået så Gentag fra START
jeg fik det aldrig til at virke, lave istedet 2 felter i databasen en man kunne se hvis man er logget ind og en hvis man ikke er.
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.