Avatar billede visuel Nybegynder
09. september 2005 - 23:23 Der er 36 kommentarer og
1 løsning

Relativ sti i include

Er det muligt at lave en relative sti fra roden i en #include

Dvs. i stedet for at skrive
    <!-- #include file="../../conn.asp" -->
eller lign. kunne lave en relativ sti fra roden på samme måde som man kan
    Server.MapPath("/conn.asp")
Avatar billede erikjacobsen Ekspert
09. september 2005 - 23:30 #1
Avatar billede visuel Nybegynder
09. september 2005 - 23:51 #2
nope - virker ikke...
Avatar billede erikjacobsen Ekspert
09. september 2005 - 23:52 #3
Jo det gør ;)
Avatar billede visuel Nybegynder
09. september 2005 - 23:59 #4
forklar!

Jeg har en fil der hedder conn.asp liggende direkte i wwwroot og vil gerne include denne på alle mine sider uanset hvilken mappe jeg er i og uden at skulle kopierer den til hver mappe.

Jeg kan ikke få det til at virke. Hvor kommer den virtuelle mappe ind her?
Avatar billede erikjacobsen Ekspert
10. september 2005 - 07:36 #5
Hvad skriver du?
Avatar billede visuel Nybegynder
10. september 2005 - 08:19 #6
At jeg gerne vil have nem adgang til denne fil (conn.asp) fra alle mine filer med den samme kode. ex. <!-- #include file=/conn.asp -->

Det andet er, hvor du mener jeg bruger virtuelle mapper, da du skrev at jeg skulle kigge på virtual. Er ikke lige helt skarp i  hvad der menes med virtuel mappe.

Håber det var lidt mere forståeligt, det er jo tidligt om morgenen (og så på en lørdag);)
Avatar billede goose Nybegynder
10. september 2005 - 08:20 #7
Prøv som ericjakobsen skriver, det virker:

<!-- #include virtual="/conn.asp" -->

/Goose
Avatar billede visuel Nybegynder
10. september 2005 - 08:36 #8
Active Server Pages, ASP 0126 (0x80004005)
The include file '/conn.asp' was not found.


Og den ligger der for jeg bruger den andre steder med ../ tingelingerne som jeg gerne vil undgå...

:)
Avatar billede erikjacobsen Ekspert
10. september 2005 - 08:37 #9
Har du et link til siden?

Enten ligger filen der ikke, eller også skriver du ikke som i 10/09-2005 08:20:02
Avatar billede goose Nybegynder
10. september 2005 - 08:38 #10
ligger den i samme mappe som f.eks. din indexfil eller ligger den helt uden for webscope ?

/Goose
Avatar billede visuel Nybegynder
10. september 2005 - 20:20 #11
kan desværre ikke vise noget da det kører lokalt. Den ligger direkte i wwwroot sammen med min default.asp. Det virker fint på forsiden, men når jeg linker til en fil i en mappe der ligger i news/default.asp. Denne virker også hvis jeg ændre koden til <!-- #include file="../conn.asp" -->

Men det er det jeg gerne vil undgå at skulle gøre i alle mapper/filer da jeg vil ha mulighed for at ændre for alle filer i én fil.

:)
Avatar billede erikjacobsen Ekspert
10. september 2005 - 21:52 #12
Og det kan du sagtens undgå. Det virker selvfølgelig som beskrevet ovenfor, og i linket i toppen, så hvordan bruger du "virtual", så du ikke kan få det til at virke?
Avatar billede visuel Nybegynder
10. september 2005 - 23:18 #13
jeg erstatter
<!-- #include file="conn.asp" -->
med
<!-- #include virtual="conn.asp" -->
Avatar billede visuel Nybegynder
10. september 2005 - 23:20 #14
kan der være en indstilling der skal ændres når jeg kører det lokalt?
Avatar billede erikjacobsen Ekspert
10. september 2005 - 23:21 #15
Prøv at skrive som i 10/09-2005 08:20:02
Avatar billede visuel Nybegynder
10. september 2005 - 23:29 #16
ups.. Var også det jeg gjorde (se 10/09-2005 08:36:14)
Avatar billede erikjacobsen Ekspert
10. september 2005 - 23:32 #17
Det var ikke til at se i 10/09-2005 08:36:14 hvad du skrev i koden. Så prøv lige at opsummere, og teste: Hvad skriver du, hvor ligger filerne, og hvad sker der.
Avatar billede goose Nybegynder
10. september 2005 - 23:35 #18
Prøv og indsæt den slash før conn, altså /conn i din virtualstreng.

/Goose
Avatar billede visuel Nybegynder
10. september 2005 - 23:42 #19
to mapper:

I roden ligger (er opsat i iis til at pege på en mappe med navnet web - dvs web er roden):
  - conn.asp
  - default.asp : <!-- #include file="conn.asp" --> ***Virker***

I news ligger:
  - default.asp : <!-- #include virtual="/conn.asp" -->  ***Virker ikke***

Fejlen jeg får er:

  Error Type:
  Active Server Pages, ASP 0126 (0x80004005)
  The include file '/conn.asp' was not found.
Avatar billede visuel Nybegynder
10. september 2005 - 23:43 #20
news er en mappe der ligger i roden :)
Avatar billede erikjacobsen Ekspert
10. september 2005 - 23:43 #21
Det har jo nok noget med "opsat i iis til at pege på en mappe med navnet web" at gøre.
Hvad skriver du i adresse linien for at filerne default.asp og news/default.asp ?
Avatar billede erikjacobsen Ekspert
10. september 2005 - 23:46 #22
Og når du siger "lokalt", så kører du på en arbejdsstationsudgave af Windows, fx XP Home eller XP Pro, og ikke på en serverudgave, fx 2003 ???  Generelt skal man ikke regne med at de "sjove" ting virker på legetøjsudgaverne af IIS.
Avatar billede visuel Nybegynder
10. september 2005 - 23:49 #23
Jeg bruger:

http://localhost/test/    <-- har givet den navnet test i iis

når jeg linker til news linker jeg fra den default side der ligger i roden. <a href="news/default.asp"
Avatar billede visuel Nybegynder
10. september 2005 - 23:50 #24
kører på XP Pro
Avatar billede erikjacobsen Ekspert
10. september 2005 - 23:56 #25
Om det så lige er legetøjsudgaven af IIS der gør det, skal jeg ikke kunne sige her og nu, men virtual="/conn.asp" leder efter filen i wwwroot og ikke i wwwroot/web. Der sker altså ikke det forventede når du laver en virtuel mappe, som det vist hedder i IIS-sprog.
Avatar billede erikjacobsen Ekspert
10. september 2005 - 23:57 #26
...OG det du kan skrive er:  <!-- #include virtual="/test/conn.asp" -->
men det gør det jo mindre flytbart til en anden maskine.
Avatar billede visuel Nybegynder
11. september 2005 - 00:20 #27
Tror du misforstod :)

Mappen web agere wwwroot (hvis man kan sige det sådan)
og det sidste forslag virker heller ikke.

Har lige prøvet på en andens server (2003, men desværre også lokal) og der kommer samme fejl. Så det er ikke pga. XP Pro
Avatar billede erikjacobsen Ekspert
11. september 2005 - 00:25 #28
Hvad betyder "opsat i iis til at pege på en mappe med navnet web"  så?
Avatar billede visuel Nybegynder
11. september 2005 - 00:42 #29
sorry... Det var MIG der havde misforstået det.. Det virker sørme nu... :)

Men nu har jeg et andet problem hvor det lige bliver smækket 20 point mere i til den der kan hjælpe med det.

Nu får jeg fat i conn.asp, men når jeg kører /news/default.asp leder den efter databasen i \news\db\db.mdb. db'en ligger i \db\db.mdb. Dvs. et niveau højere end news.

Det virker fint med den \default.asp
Avatar billede erikjacobsen Ekspert
11. september 2005 - 00:44 #30
Hvordan bruger du Server.MapPath  ?
Avatar billede visuel Nybegynder
11. september 2005 - 00:44 #31
Min conn.asp ser således ud

Set Conn = Server.CreateObject("ADODB.Connection")
    conn.open = "Provider = Microsoft.Jet.OLEDB.4.0; Data Source = " & Server.MapPath("db/db.mdb")
Avatar billede erikjacobsen Ekspert
11. september 2005 - 00:48 #32
Prøv
  Server.MapPath("/db/db.mdb")
eller
  Server.MapPath("/test/db/db.mdb")
Avatar billede visuel Nybegynder
11. september 2005 - 00:53 #33
Det er super smukt

Der er 50 point klar til dig erik ;)

1000 tak for hjælpen
Avatar billede erikjacobsen Ekspert
11. september 2005 - 00:54 #34
Mange tak, men jeg samler slet ikke på point.
Avatar billede visuel Nybegynder
11. september 2005 - 00:59 #35
Vil du ikke nok.. Jeg kan da ikke bare lade det stå hen uden at give en eller anden form for belønning... Det vil jeg slet ikke have det godt med. Jeg er VILDT glad for den hjælp (og tålmodighed når jeg ikke læser rigtigt hvad du skriver).
Avatar billede erikjacobsen Ekspert
11. september 2005 - 01:05 #36
Ekspertens point er rent til grin. Jeg har ikke fået nogle siden 2003, vistnok.
Hvis ikke andre deltagere skal have, kan du svare selv, og acceptere eget svar,
Avatar billede visuel Nybegynder
11. september 2005 - 01:17 #37
ok, men endnu en mange tak for hjælpen. Du er en meget venlig person.
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