Avatar billede jannikf Nybegynder
04. januar 2006 - 19:21 Der er 16 kommentarer og
1 løsning

ASP skrivning til asp fil via FSO

Jeg er gået i gang med at lave en funktion, der opretter mapper + index fil indeholdende data fra en db. Problemet jeg imidlertid støder på er at jeg i min søgen efter at gøre siden dynamisk, stadig vil beholde databasereferencerne i den nyoprettede side.


I den blanke writeline skal resultatet blive; <%strSideid = Mappe%>. Hvor mappe skal henføres til strMappe som jeg har defineret før i dokumentet.

Lidt af fso.asp:
TextStream.WriteLine("<!--#include file=../includes/connect.asp-->")
  TextStream.WriteLine("")
  TextStream.WriteLine("<!--#include file=../includes/index.asp-->")

Jeg kan forestille mig at det kan løses sådan her:

TextStream.WriteLine("<%strSideid = " & strMappe%>"), men det virker ikke, jeg har prøvet forskellige muligheder udover denne, men ingen virker. Den melder forskellige fejl på alle.

Og brok jer lige hvis pointene er urimelige. Jeg håber dog at det er en forholdsvis simpel løsning hvor " og ' skal bruges.
Avatar billede ttopholm Nybegynder
04. januar 2006 - 19:24 #1
extStream.WriteLine("<% strSideid = " & strMappe & "%>")
Avatar billede ttopholm Nybegynder
04. januar 2006 - 19:24 #2
TextStream.WriteLine("<% strSideid = " & strMappe & "%>")
Avatar billede ttopholm Nybegynder
04. januar 2006 - 19:24 #3
er det du er efter
Avatar billede jannikf Nybegynder
04. januar 2006 - 19:28 #4
Imponerende svartid! Men jeg har lige testet og den melder fejl:

Active Server Pages error 'ASP 0126'

Include file not found

/minimal/admin/fso.asp, line 39

The include file '../includes/index.asp' was not found.

Her er lidt mere af fso.asp filen:

  Set FSO = CreateObject("Scripting.FileSystemObject")

  Set nyMappe = FSO.CreateFolder(newFilSti)

  Set TextStream = FSO.CreateTextFile(newFilSti & "\" & newFilnavn)

  TextStream.WriteLine("<!--#include file=../includes/connect.asp-->")
  TextStream.WriteLine("<% strSideid = " & strMappe & "%>")
  TextStream.WriteLine("<!--#include file=../includes/index.asp-->")

  TextStream.Close

End Function

Create(newFileName)
Avatar billede jannikf Nybegynder
04. januar 2006 - 19:30 #5
Det skal lige siges at jeg har prøvet at teste og blot fjerne midterste writeline og så fungerer det helt fint. Det er først når jeg indblander <% at den melder fejl.
Avatar billede ttopholm Nybegynder
04. januar 2006 - 19:33 #6
Prøv at UrlEncode hele strengen, således
extStream.WriteLine(server.urlencode("<% strSideid = " & strMappe & "%>"))
Avatar billede jannikf Nybegynder
04. januar 2006 - 19:40 #7
Microsoft VBScript compilation  error '800a0409'

Unterminated string constant

/minimal/admin/test.asp, line 4

extStream.WriteLine(server.urlencode("<% strSideid = " & strMappe & "
---------------------------------------------------------------------^

Hvis jeg blot indsætter extStream koden i en blank side hvor strMappe bliver defineret.
Avatar billede ranglen Nybegynder
04. januar 2006 - 19:43 #8
det afsluttende %> skal escapes, når det indgår i en streng. Ellers antager aspmotoren, at scriptdelen afsluttes

... & "%\>"
Avatar billede jannikf Nybegynder
04. januar 2006 - 20:03 #9
Det hjalp gevaldigt, dog er koden stadig forkert:

TextStream.WriteLine("<% strSide = " & strMappe & " %\>")

skriver

<% strSide = Mappe %>

og ikke <% strSide = "Mappe" %>, som den gerne skulle.
Avatar billede ttopholm Nybegynder
04. januar 2006 - 20:16 #10
TextStream.WriteLine("<% strSide = '" & strMappe & "' %\>")
Avatar billede jannikf Nybegynder
04. januar 2006 - 20:17 #11
Så melder den om syntax error:

Microsoft VBScript compilation  error '800a03ea'

Syntax error

/minimal/arkiv/Mappe/index.asp, line 2

strSide = 'Mappe'
----------^
Avatar billede ranglen Nybegynder
04. januar 2006 - 20:25 #12
prøv

TextStream.WriteLine("<% strSide = """ & strMappe & """ %\>")


"" er vbscripts måde at escape gåseøjne, når de skal indgå i en streng
Avatar billede jannikf Nybegynder
04. januar 2006 - 20:30 #13
Perfekt. Det virker nu. Indryk bare et svar.
Avatar billede jannikf Nybegynder
16. februar 2006 - 01:01 #14
Vil du ikke indrykke et svar ranglen?
Avatar billede jannikf Nybegynder
24. maj 2006 - 23:40 #15
Prøver lige igen. Du må meget gerne indrykke svar så du kan få dine point.
Avatar billede jannikf Nybegynder
16. oktober 2007 - 20:00 #16
Sidste gang. Ranglen bare indryk et svar så du kan få dine point.
Avatar billede jannikf Nybegynder
02. juli 2008 - 23:15 #17
Lukker.
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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