ASP.NET Web Pages - Map

Dit hoofdstuk introduceert mappen en paden naar mappen.

In dit hoofdstuk leer je:

  • Logische en fysieke folderstructuur
  • Virtuele en fysieke namen
  • Web URL en pad

Logische folderstructuur

Hieronder is een typische folderstructuur van ASP.NET-webpagina's:

Web Pagina's Mapstructuur
  • De "Account"-map bevat inlog- en beveiligingsbestanden.
  • De "App_Data"-map bevat databases en data-bestanden.
  • De "Images"-map bevat afbeeldingen.
  • De "Scripts"-map bevat browserscripts.
  • De "Shared"-map bevat algemene bestanden (bijvoorbeeld lay-out- en stijlbestanden).

Fysieke bestandsstructuur

De fysieke structuur van de "Images"-map van deze website op de computer lijkt er zo uit:

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

Virtuele en fysieke namen

Volgens het voorbeeld hierboven:

De virtuele naam van de webafbeelding lijkt er zo uit: "Images/pic31.jpg".

Maar de fysieke naam lijkt er zo uit: "C:\Johnny\Documents\MyWebSites\Demo\Images\pic31.jpg".

URL en pad

De URL wordt gebruikt om bestanden van de web te bereiken:

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

Het bestand dat op de server overeenkomt met de URL:

C:\MyWebSites\htm5\html5_intro.asp

Virtuele paden zijn een afgekorte vorm van fysieke paden. Als je virtuele paden gebruikt, kun je webpagina's verplaatsen naar een andere domeinnaam (of server) zonder de paden bij te werken.

URL	http://www.codew3c.com/html/html5_intro.asp
Servernaam	codew3c
Virtueel pad	/html/html5_intro.asp
Fysiek pad	C:\MyWebSites\codew3c\/html/html5_intro.asp

De rootmap op de schijfdrive wordt geschreven als: C:\, maar de rootmap op de website is / (een schuine streep).

De virtuele paden van de webmap zijn (bijna) nooit hetzelfde als de fysieke mappen.

In je code kan het zijn dat je zowel fysieke als virtuele paden tegelijkertijd gebruikt, afhankelijk van de inhoud van de code.

ASP.NET biedt drie hulpmiddelen voor het verwerken van paden naar mappen: de ~ operator, de Server.MapPath-methode en de Href-methode.

De ~ operator

Gebruik de ~ operator om de virtuele rootmap in je programmatische code vast te leggen.

Als je de ~ operator gebruikt in plaats van een pad, kun je de website verplaatsen naar een andere map of locatie zonder enige code te wijzigen:

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

Server.MapPath-methode

De Server.MapPath-methode conversie van virtuele paden (/default.cshtml) naar fysieke paden die de server kan begrijpen (C:\Johnny\MyWebSited\Demo\default.cshtml).

U zult deze methode gebruiken wanneer u een data-bestand op de server moet openen (data-bestanden kunnen alleen via een volledig fysiek pad worden bereikt):

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

In het volgende hoofdstuk van deze tutorial zult u meer leren over het lezen en schrijven van data-bestanden op de server.

Href-methode

De Href-methode converts paden in de code naar paden die de browser kan begrijpen (de browser begrijpt geen ~-operator).

U gebruikt de Href-methode om paden naar bronnen (zoals afbeeldingen en CSS-bestanden) te maken.

U zult deze methode vaak gebruiken in HTML <a>、<img> en <link>-elementen:

@{var myStyleSheet = "~/Shared/Site.css";}
<!-- Maak een link naar het CSS-bestand -->
<link rel="stylesheet" type="text/css" href="@Href(myStyleSheet)" />
<!-- Hetzelfde als hierboven : -->
<link rel="stylesheet" type="text/css" href="/Shared/Site.css" />

De Href-methode behoort tot de methoden van het WebPage-object.