ASP.NET-webpagina's - mappen


Dit hoofdstuk gaat over mappen en mappaden.


In dit hoofdstuk leer je:

  • Over logische en fysieke mapstructuren
  • Over virtuele en fysieke namen
  • Over web-URL's en paden

Logische mapstructuur

Hieronder ziet u een typische mappenstructuur voor een website met ASP.NET-webpagina's:

mappen
  • De map "Account" bevat aanmeldings- en beveiligingsbestanden
  • De map "App_Data" bevat databases en gegevensbestanden
  • De map "Afbeeldingen" bevat afbeeldingen
  • De map "Scripts" bevat browserscripts
  • De map "Gedeeld" bevat algemene bestanden (zoals lay-out- en stijlbestanden)

Fysieke mapstructuur

De fysieke structuur voor de map "Afbeeldingen" op de bovenstaande website kan er op een computer als volgt uitzien:

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


Virtuele en fysieke namen

Uit bovenstaand voorbeeld:

De virtuele naam van een webafbeelding kan "Images/pic31.jpg" zijn.

Maar de fysieke naam is "C:\Johnny\Documents\MyWebSites\Demo\Images\pic31.jpg"



URL's en paden

URL's worden gebruikt om toegang te krijgen tot bestanden van internet: https://www.w3schools.com/html/html5_intro.asp

De URL komt overeen met een fysiek bestand op een server: C:\MyWebSites\w3schools\html\html5_intro.asp

Een virtueel pad is een afkorting om fysieke paden weer te geven. Als u virtuele paden gebruikt, kunt u uw pagina's naar een ander domein (of server) verplaatsen zonder dat u de paden hoeft bij te werken.

URL https://www.w3schools.com/html/html5_intro.asp
Server naam w3schools
Virtueel pad /html/html5_intro.asp
fysiek pad C:\MijnWebSites\w3schools\html\html5_intro.asp

De root op een diskdrive is geschreven als C:\, maar de root op een website is / (slash).

Het virtuele pad van een webmap is (bijna) nooit hetzelfde als de fysieke map.

In je code zul je zowel naar het fysieke pad als naar het virtuele pad verwijzen, afhankelijk van wat je codeert.

ASP.NET heeft 3 tools voor het werken met mappaden: de ~-operator, de Server.MapPath-methode en de Href-methode.


De ~-operator

Gebruik de ~-operator om de virtuele root in programmeercode op te geven.

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

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

De Server.MapPath-methode

De Server.MapPath-methode converteert een virtueel pad (/default.cshtml) naar een fysiek pad dat de server kan begrijpen (C:\Johnny\MyWebSited\Demo\default.cshtml).

U gebruikt deze methode wanneer u gegevensbestanden op de server moet openen (gegevensbestanden zijn alleen toegankelijk met een volledig fysiek pad):

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

In het volgende hoofdstuk van deze tutorial leer je meer over het lezen van (en schrijven naar) databestanden op de server.


De Href-methode

De Href-methode converteert een pad dat in de code wordt gebruikt naar een pad dat de browser kan begrijpen (de browser kan de ~-operator niet begrijpen).

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

You will often use this method in HTML <a>, <img>, and <link> elements:

@{var myStyleSheet = "~/Shared/Site.css";}

<!-- This creates a link to the CSS file. -->
<link rel="stylesheet" type="text/css" href="@Href(myStyleSheet)" />

<!-- Same as : -->
<link rel="stylesheet" type="text/css" href="/Shared/Site.css" />

The Href method is a method of the WebPage Object.