ASP.NET Web Pages - Mappe

Dette kapitel introducerer mapper og mapperstier.

I dette kapitel vil du lære:

  • Logisk og fysisk mappestruktur
  • Virtuelle og fysiske navne
  • Web URL og sti

Logisk mappestruktur

Her er en typisk mappestruktur for ASP.NET-websteder:

Web Pages Mappestruktur
  • "Account"-mappen indeholder login- og sikkerhedsfiler
  • "App_Data"-mappen indeholder databaser og datafiler
  • "Images"-mappen indeholder billeder
  • "Scripts"-mappen indeholder browser scripts
  • "Shared"-mappen indeholder almindelige filer (f.eks. layout- og stilfiler)

Fysisk filstruktur

Den fysiske struktur til "Images"-mappen på dette websted ser sådan ud på computeren:

C:\Johnny\Documents\MyWebSites\Demo\Images

Virtuelle og fysiske navne

Baseret på de ovennævnte eksempler:

Den virtuelle navn til webbilledet ligner sådan: "Images/pic31.jpg".

Men den fysiske navn ligner sådan "C:\Johnny\Documents\MyWebSites\Demo\Images\pic31.jpg".

URL og sti

URL'en bruges til at få adgang til filer fra webben:

http://www.codew3c.com/html5/html5_intro.asp

URL'en på serveren svarer til filen:

C:\MyWebSites\htm5\html5_intro.asp

Den virtuelle sti er en kortform for den fysiske sti. Hvis du bruger den virtuelle sti, kan du flytte websiden til en anden domæne (eller server) uden at opdatere stien.

URL	http://www.codew3c.com/html/html5_intro.asp
Servernavn	codew3c
Virtuel sti	/html/html5_intro.asp
Fysisk sti	C:\MyWebSites\codew3c\/html/html5_intro.asp

Rodmappen på diskdrevet skrives: C:\, men rodmappen på webstedet er / (skråstreg).

Den virtuelle sti til web-mappen vil (næsten) aldrig være den samme som den fysiske mappe.

I din kode kan du muligvis samtidig referere til både fysiske og virtuelle stier afhængigt af kodeindholdet.

ASP.NET tilbyder tre værktøjer til at håndtere mappestier: ~ operatoren, Server.MapPath metoden og Href metoden.

~ operatoren

Brug ~ operatoren for at specificere den virtuelle rodmappe i din kode.

Hvis du bruger ~ operatoren i stedet for stien, kan du flytte webstedet til en anden mappe eller placering uden at ændre noget kode:

var myImagesFolder = "~/images";
var myStyleSheet = "~/styles/StyleSheet.css";

Server.MapPath-metoden

Server.MapPath-metoden konverterer den virtuelle sti (/default.cshtml) til den fysiske sti, som serveren kan forstå (C:\Johnny\MyWebSited\Demo\default.cshtml).

Du vil bruge denne metode, når du skal åbne datafiler, der er placeret på serveren (datafiler kan kun tilgås via den fulde fysiske sti):

var pathName = "~/dataFile.txt";
var fileName = Server.MapPath(pathName);

I det næste kapitel af denne tutorial vil du lære mere om at læse og skrive datafiler på serveren.

Href-metoden

Href-metoden konverterer stier i koden til stier, som browseren kan forstå (browseren forstår ikke ~-operatoren).

Du bruger Href-metoden til at oprette stier til ressourcer (f.eks. billeder og CSS-filer).

Du vil ofte bruge denne metode i HTML <a>、<img> og <link>-elementer:

@{var myStyleSheet = "~/Shared/Site.css";}
<!-- Opret et link til CSS-filen -->
<link rel="stylesheet" type="text/css" href="@Href(myStyleSheet)" />
<!-- Samme som ovenfor : -->
<link rel="stylesheet" type="text/css" href="/Shared/Site.css" />

Href-metoden er en metode, der tilhører WebPage-objektet.