Toon posts:

[ASP] FSO/Querystring probleem

Pagina: 1
Acties:

Verwijderd

Topicstarter
Wat ik wil bereiken met deze code is dat er een bestand gelezen en weergegeven wordt. Dat bestand geef je van te voren aan in een Querystring. Bijv.: Wil je bestand 'x.htm' openen dan doe je: 'filename.asp?File=x.htm' en wil je bestand 'y.htm' openen dan doe je: 'filename.asp?File=y.htm'. (Je kan natuurlijk ook gewoon x.htm of y.htm intypen, maar waarom ik dat niet wil zal ik nu niet uitleggen.) (Te openen bestanden staan in /db directory; zie code.)

Ik vermoed dat de fout bij regel
code:
1
Set FileDir=Response.Write("db/" & Request.QueryString("File"))
zit of bij regel
code:
1
Set F=FS.OpenTextFile(Server.MapPath(FileDir),1)
Ik heb al veel verschillende mogelijkheden geprobeert en in de browser gaf hij dan telkens een van bovenstaande regels als fout aan.

- Is de 2e Response.Write goed? (werd foutmelding over gegeven.)
- Is 'Set FileDir=blabla' goed? (ipv Dim FileDir (enter) FileDir=blabla.)
- Wat betekent die 1? (Stond ergens in voorbeeldcode.)
- Moet daar niet staan 'ForReading'?

Weet iemand de oplossing?

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<%
If Request.QueryString("File") = "" Then
 Response.Write("Voer Querystring in." & "<br>")
End If
%>
<%
 Set FileDir=Response.Write("db/" & Request.QueryString("File"))

 Set FS=Server.CreateObject("Scripting.FileSystemObject")

 Set F=FS.OpenTextFile(Server.MapPath(FileDir),1)
 While Not F.AtEndOfStream
 Response.Write F.ReadLine
 Response.Write("<br>")
 Wend

 F.Close

 Set F=Nothing
 Set FS=Nothing
%>

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

- Is de 2e Response.Write goed? (werd foutmelding over gegeven.)

--> Wat is de foutmelding?

- Is 'Set FileDir=blabla' goed? (ipv Dim FileDir (enter) FileDir=blabla.)

--> Zie boven

- Wat betekent die 1? (Stond ergens in voorbeeldcode.)

--> Zou me niets verbazen als dit For Reading betekent; in deze trant moet je zoeken.

- Moet daar niet staan 'ForReading'?

--> Nee, da's een constante c.q. enumeratie.

[ Voor 90% gewijzigd door gorgi_19 op 22-07-2003 13:49 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • klinz
  • Registratie: Maart 2002
  • Laatst online: 10-08 15:44

klinz

weet van NIETS

Verwijderd schreef op 22 July 2003 @ 13:44:
Ik vermoed dat de fout bij regel
code:
1
Set FileDir=Response.Write("db/" & Request.QueryString("File"))
Dit is in ieder geval niet goed. Dit moet zijn:
code:
1
Set FileDir = "db/" & Request.QueryString("File")

Met Response.Write poep je immers iets naar het scherm uit. Bovendien is het geen functie die iets teruggeeft.

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

Nu ik het nog een keer zo teruglees.. D'r klopt geen hout van je code.
ASP:
1
2
 Set FileDir=Response.Write("db/" & Request.QueryString("File"))
 Set F=FS.OpenTextFile(Server.MapPath(FileDir),1)

Je moet set niet gebruiken bij het declaren van normale variabelen.
ASP:
1
2
3
Dim strFiledir
strFiledir = "db/" & Request.QueryString("File")
Set F=FS.OpenTextFile(Server.MapPath(FileDir),1)

Voordat je verder gaat.. Ga eerst eens spelen met Request.Form, Request.Querystring, Response.Write, etc. Want je haalt nu echt alles finaal door elkaar en zit nu dingen te doen die nog boven je niveau liggen.

[ Voor 26% gewijzigd door gorgi_19 op 22-07-2003 15:44 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Topicstarter
Bedankt! Het werkt nu!
gorgi_19 schreef op 22 juli 2003 @ 15:42:
Voordat je verder gaat.. Ga eerst eens spelen met Request.Form, Request.Querystring, Response.Write, etc. Want je haalt nu echt alles finaal door elkaar en zit nu dingen te doen die nog boven je niveau liggen.
Zal ik doen, daarom maak ik eerst ook stukjes kleine code, om te oefenen. :)