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:
- 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.