Avatar billede speedpete Nybegynder
23. september 2005 - 20:21 Der er 5 kommentarer og
1 løsning

referencer : absolutte, root directory eller?

Hvad betyder "~/Filnavn.aspx"? Jeg tænker på tilden i starten. Er det et alias for rootdirectory?

Jeg har visse problemer med det i ASP.NET 2.0, hvor f.eks. den automatisk genererede kode skriver MasterPageFile="~/MasterPage.master" for at referere til en MasterPage. Det får mig til at tro at ~ har noget at gøre med root directory for webapplikationen. Men hvis jeg ændrer en billed-reference fra "img/billede.jpg" (som virker fint) til "~img/billede.jpg", så virker det ikke?
Avatar billede ksoren Nybegynder
23. september 2005 - 20:28 #1
Det er kun en henvisning til roden, så længe du benytter den server side. Tilden mister effekten, hvis du benytter den i HTML klient side kode
Avatar billede speedpete Nybegynder
23. september 2005 - 20:44 #2
ok, så det er altså en henvisning til roden... Jeg kører den ellers 'serverside' idet serveren bare kører lokalt på min egen maskine...? Måske er det en fejl i .NET 2.0 beta?
Avatar billede roenving Novice
24. september 2005 - 12:42 #3
Referencen "img/billede.jpg" betyder, at den skal hente billedet fra et underbibliotek til det nuværende bibliotek, mens "~/img/billede.jpg" betyder at den skal hente det i et underbibliotek til webstedets root-directory ...

-- og det kan sagtens være det samme (men husk skråstregen efter tilden !-)

Normalt bruger man relative stier, hvor ../ betyder et niveau op og / alene betyder webstedets rootdirectory, men det vil lokalt blive fortolket anderledes, da du lokalt har adgang til hele filsystemet, så / betyder c:\ (typisk !-), hvor du vil have det til at betyde f.eks. C:\Inetpub\wwwroot\DitWebSite, der gætter jeg på, at .NET-runtimen laver nummeret for dig ved hjælp af tilden !o]
Avatar billede roenving Novice
24. september 2005 - 12:46 #4
På en ekstern server vil der slet ikke være de samme problemer, da webserveren effektivt vil forhindre adgang til noget udenfor websitets egen mappe ...

-- og står du så i dit rod-bibliotek på webserveren vil du ikke kunne bruge ../ til at kravle et niveau op, det tillader serveren simpelthen ikke !-)
Avatar billede speedpete Nybegynder
25. september 2005 - 13:38 #5
Okay jeg har prøvet at uploade til serveren, og der virker det heller ikke?
Iøvrigt havde jeg skrevet en trykfejl i mit oprindelige indlæg: Jeg prøver at ændre referencen til "~/img/billede.jpg". Det skulle betyde det samme som "img/billede.jpg", når den fil hvorfra jeg prøver at hente billedet er i root-directory, ikke sandt?

Hvad er iøvrigt root directory for websitet? Jeg kan prøve at skitsere hvad jeg ser, når jeg åbner mit FTP-program:

På øverste niveau en masse mapper, bla. bin og WWW. Det er i mappen WWW jeg lægger mine aspx-filer, og jeg går ud fra at WWW så er rootdirectory for webapplikationen? Det er jo der, min default.aspx ligger.
Videre: I WWW-mappen liggger så bla. img-mappen, hvori mine billeder ligger. I WWW mappen ligger også min MasterPage med bla. referencen url(img/banner.jpg). Så er det jeg tænker, at det må være det samme som url(~/img/banner.jpg)? MEN DET VIRKER IKKE???
Avatar billede speedpete Nybegynder
07. juli 2006 - 09:01 #6
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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