ASP.NET Web Pages - Mapp
- Föregående sida WebPages layout
- Nästa sida WebPages global
Detta kapitel introducerar mappar och mappvägar.
I detta kapitel kommer du att lära dig:
- Logisk och fysisk mappstruktur
- Virtuella och fysiska namn
- Webb-URL och sökväg
Logisk mappstruktur
Här är en typisk mappstruktur för ASP.NET-webbsidor:

- "Account"-mappen innehåller inloggnings- och säkerhetsfiler
- "App_Data"-mappen innehåller databas- och datafiler
- "Images"-mappen innehåller bilder
- "Scripts"-mappen innehåller webbläsar-skript
- "Shared"-mappen innehåller allmänna filer (t.ex. layout- och stilfiler)
Fysisk filstruktur
Den fysiska strukturen för "Images"-mappen på denna webbplats liknar så här på datorn:
C:\Johnny\Documents\MyWebSites\Demo\Images
Virtuella och fysiska namn
Baserat på de ovanstående exemplen:
Den virtuella namnet på webb bilden liknar något sådant: "Images/pic31.jpg".
Men den fysiska namnet liknar något sådant "C:\Johnny\Documents\MyWebSites\Demo\Images\pic31.jpg".
URL och sökväg
URL:et används för att komma åt filer från webben:
http://www.codew3c.com/html5/html5_intro.asp
URL:et som motsvarar filen på servern är:
C:\MyWebSites\htm5\html5_intro.asp
Den virtuella sökvägen är en förkortning som representerar den fysiska sökvägen. Om du använder den virtuella sökvägen kan du flytta webbsidor till olika domäner (eller servrar) utan att uppdatera sökvägen.
URL http://www.codew3c.com/html/html5_intro.asp Servernamn codew3c Virtuell sökväg /html/html5_intro.asp Fysisk sökväg C:\MyWebSites\codew3c\/html/html5_intro.asp
Roddirektivet på diskdrivaren skrivs: C:\, men roddirektivet på webbplatsen är / (snedstreck).
Den virtuella sökvägen för web-mappen kommer (nästan) aldrig att vara densamma som den fysiska mappen.
I din kod kan du, beroende på innehållet i koden, hänvisa både till fysiska och virtuella vägar samtidigt.
ASP.NET erbjuder tre verktyg för att hantera mappvägar: ~-operatorn, Server.MapPath-metoden och Href-metoden.
~-operatorn
För att specificera den virtuella rotdirektiven i programmeringskoden, använd ~-operatorn.
Om du använder ~-operatorn, istället för sökväg, kan du flytta webbplatsen till en annan mapp eller plats utan att ändra någon kod:
var myImagesFolder = "~/images"; var myStyleSheet = "~/styles/StyleSheet.css";
Server.MapPath-metoden
Server.MapPath-metoden konverterar den virtuella sökvägen (/default.cshtml) till den fysiska sökvägen som servern förstår (C:\Johnny\MyWebSited\Demo\default.cshtml).
Du använder denna metod när du behöver öppna datafiler som finns på servern (datafiler kan endast nås via den fullständiga fysiska sökvägen):
var pathName = "~/dataFile.txt"; var fileName = Server.MapPath(pathName);
I nästa kapitel i denna kurs kommer du att lära dig mer om att läsa och skriva datafiler på servern.
Href-metoden
Href-metoden konverterar sökvägar i koden till sökvägar som webbläsaren kan förstå (webbläsaren förstår inte ~-operatorn).
Du använder Href-metoden för att skapa sökvägar till resurser (t.ex. bilder och CSS-filer).
Du kommer ofta att använda denna metod i HTML <a>、<img> och <link>-element:
@{var myStyleSheet = "~/Shared/Site.css";} <!-- Skapa en länk till CSS-filen --> <link rel="stylesheet" type="text/css" href="@Href(myStyleSheet)" /> <!-- Samma som ovan : --> <link rel="stylesheet" type="text/css" href="/Shared/Site.css" />
Href-metoden tillhör metoderna för WebPage-objektet.
- Föregående sida WebPages layout
- Nästa sida WebPages global