Avatar billede babyworm Nybegynder
30. november 2005 - 18:28 Der er 4 kommentarer og
1 løsning

Problemer med replace

Hej..

Jeg har en gallerifunktion som henter billeder ud og laver et galleri der ligger i en aspfil...

Det er til cms så jeg trækker indholdet ud fra databasen, og vil så gerne have at brugeren kan skrive ###galleri### og så kommer galleriet der...

Mit problem er replace'en af mit indhold.. Ville jo gå ud fra den hed noget med replace(rs("indhold"),"###galleri###",include virtual) men det kan man ikk..

Jeg har også prøvet at lave det som en funktion - men virker heller ikke...


strContent = "temp " & rs("indhold") & " test"

Function GalleryFunc()
  server.Execute("/contentgallery.asp")
End function

function temp(StrBesked)
StrBesked = Replace(StrBesked, "###galleri###", GalleryFunc())
temp = StrBesked
end function

strContent = temp(strContent)
response.write(strContent)

Den kører bare galleriet selvom der ikke står ###galleri###
Avatar billede softspot Forsker
30. november 2005 - 19:14 #1
Det er fordi du skal have fat i din galleriside som en streng (jeg antager at din server.execute kalder en side som udskriver direkte til response.write).

Det du kan gøre i stedet er at benytte MSXML2.ServerXMLHTTP til at udføres siden med og så hente resultatet af dette request som en streng. Den kan du så benytte til at indsætte i din strbesked. Nogenlunde således (aldeles utestet, men noget i denne retning):


strContent = "temp " & rs("indhold") & " test"

Function GalleryFunc()
  set objXML = Server.CreateObject("MSXML2.ServerXMLHTTP")
  objXML.open "GET", "http://www.ditdomæne.dk/contentgallery.asp", false
  objXML.send
  GalleryFunc = objXML.responseText
End function

function temp(StrBesked)
  temp = Replace(StrBesked, "###galleri###", GalleryFunc())
end function

strContent = temp(strContent)
response.write(strContent)
Avatar billede babyworm Nybegynder
30. november 2005 - 19:27 #2
Det kan jeg ikke... for contentgallery.asp henter billederne ud fra hvilken side du er på...
Avatar billede softspot Forsker
30. november 2005 - 19:36 #3
Kan du ikke hente billederne på grundlag af Request.ServerVariables("HTTP_REFERER") i stedet?

Alternativt skal du cache output af contentgallery.asp i en session-variabel som du kan få fat i efter at have kaldt siden med Server.Execute...
Avatar billede softspot Forsker
30. november 2005 - 19:37 #4
I øvrigt kan det med hvilken side der skal hentes billeder til, vel parameteriseres ved brug af querystring-parametre... eller hvad?
Avatar billede babyworm Nybegynder
30. november 2005 - 19:57 #5
Nå... jeg har gjort det på en lidt anden måde...

har udskrevet hele htmlen i min funktion og kaldt den hvis koden er der.. :-)
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester