Avatar billede -master-d- Nybegynder
22. december 2003 - 13:22 Der er 8 kommentarer og
1 løsning

Lidt tricky spørgsmål

Hej Eksperter

Jeg har et lidt mere avanceret spørgsmål.
Sagen er at jeg gerne vil have eksekveret min aspkode fra min fil lad os kalde den exe.asp, men den må ikke udskrive htmlkoden direkte til browseren. Istedet skal denne htmlkode overføres til en variabel..

Kan dette lade sig gøre ??

På forhånd tak.
Avatar billede mufoxe Nybegynder
22. december 2003 - 13:29 #1
Det kan det sagtens. Du kan bare samle din kode op i en streng.

F.eks.

Dim strHTML

strHTML = "<html><body>blablablb></body></html>"

Du kan herefter bruge strengen til det, du har behov for. Jeg bruger f.eks. denne teknik til et cache HTML i serveren hukommelse.
Avatar billede -master-d- Nybegynder
22. december 2003 - 13:32 #2
Ja, selfølgelig kan man gøre det på den måde, men det er jo ikke spor praktisk..

det jeg er ude efter er om man evt. kan lave det sådan her.

-------------------------exe.asp------------------------------

<%
Response.Write "<html><body>"& FormatDateTim(now,vbLongTime) &"</body></html>"
%>

--------------------------------------------------------------

Og så eksekvere dette og få det i en streng så jeg på en anden side kan få outputtet i en streng :

<%
strHTML = "<html><body>13:35:04</body></html>"
%>

Forstår du hvad jeg mener ?
Avatar billede mm12010 Nybegynder
22. december 2003 - 13:37 #3
<%
strHTML = "<html><body>"& FormatDateTim(now,vbLongTime) &"</html>"
%>
Avatar billede mufoxe Nybegynder
22. december 2003 - 13:37 #4
Du kan i ASP.NET, men jeg kan ikke se, hvordan ASP skulle understøtte det, hvis du ikke samlet outputtet op i en streng.
Avatar billede eagleeye Praktikant
22. december 2003 - 13:39 #5
Der findes ikke en metode som kan omdirigere response.write

Der er en Execute funtion men den udføre koden og dermed udskrives der til browseren.

Du kan dog læse exe.asp og replace Response.Write med strHTML = StrHTML &
Så bruge Execute så har du en variable med koden i.
Det kræver så du kun bruger Response.Write og ikke <%= xxx %>
Avatar billede eagleeye Praktikant
22. december 2003 - 14:43 #6
Et eks hvis du har dette i exe.asp
<%
Response.Write "Hej med dig<br>"
Response.Write "<b>" & FormatDateTime(date,2) & "</b>"
Response.Write "<br><br>"
for i = 1 to 10
  Response.Write i & "<br>" 
next
%>

Så kan du hvade noget kode som dette til at lave variablen:

Set FSO = Server.CreateObject("Scripting.FileSystemObject")
Set File = FSO.OpenTextFile(Server.MapPath("./exe.asp"),1)
str = File.ReadAll
File.Close
str = Replace(str, "response.write", "strHTML = strHTML & ", 1,-1,1)
str = Replace(str, Chr(60)&"%","")
str = Replace(str, "%"&Chr(62),"")

Execute(str)
Response.Write strHTML
Avatar billede -master-d- Nybegynder
22. december 2003 - 15:06 #7
Takker mange gange eagleeye, hvorfor havde jeg dog ikke tænkt på det...
Sommetider skal der jo lige lidt kreativitet til for at finde en løsning.

Din løsning passer perfekt til mit behov. Tak og god Jul.

Smid et svar og få dine vel tjente point.
Avatar billede eagleeye Praktikant
22. december 2003 - 15:11 #8
Ok, her et svar og også god jul til dig ;)
Avatar billede -master-d- Nybegynder
22. december 2003 - 15:20 #9
mange tak.
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