Dieses Kapitel enthält Informationen zu Ordnern und Ordnerpfaden.
In ASP.NET WebPages gibt es zwei Ordnerstrukturen, nämlich die logische Ordnerstruktur und die physische Ordnerstruktur.
In diesem Kapitel erfahren Sie:
Logische Ordnerstruktur und physische Ordnerstruktur
Virtuelle und physische Namen
Web-URLs und Webpfade
Das Folgende ist eine typische ASP.NET-Website-Ordnerstruktur:
Der Ordner „Konto“ enthält Anmelde- und Sicherheitsdateien
Der Ordner „App_Data“ enthält Datenbank- und Datendateien
Der Ordner „Bilder“ enthält Bilder
Der Ordner „Scripts“ enthält Browser-Skripte
Der Ordner „Freigegeben“ enthält allgemeine Dateien (z. B. Layout- und Stildateien).
Die physische Ordnerstruktur des Ordners „Bilder“ auf der oben genannten Website auf Ihrem Computer könnte wie folgt aussehen:
C:DokumenteMyWebSitesDemoImages
Nehmen Sie das obige Beispiel:
Der virtuelle Name für ein Website-Bild könnte „Images/pic31.jpg“ lauten.
Der entsprechende physische Name lautet „C:DocumentsMyWebSitesDemoImagespic31.jpg“.
Die URL wird für den Zugriff auf Dateien auf der Website verwendet: //www.w3cschool.cn/html/html-tutorial.html
Die URL entspricht der physischen Datei auf dem Server: C:MyWebSitesw3cschoolhtmlhtml-tutorial.html
Ein virtueller Pfad ist eine Kurzdarstellung eines physischen Pfades. Wenn Sie virtuelle Pfade verwenden, müssen Sie die Pfade nicht aktualisieren, wenn Sie Domänennamen ändern oder Ihre Webseiten auf andere Server verschieben.
URL | //www.w3cschool.cn/html/html-tutorial.html |
Servername | w3cschool |
virtueller Pfad | /html/html-tutorial.html |
physischer Weg | C:MyWebSitesw3cschoolhtmlhtml-tutorial.html |
Das Stammverzeichnis eines Festplattenlaufwerks wird als C: geschrieben, das Stammverzeichnis einer Website jedoch als / (Schrägstrich).
Der virtuelle Pfad eines Webordners unterscheidet sich normalerweise vom physischen Ordner.
Entscheiden Sie in Ihrem Code je nach Ihren Codierungsanforderungen zwischen physischen und virtuellen Pfaden.
Es gibt drei Tools für ASP.NET-Ordnerpfade: ~-Operator, Server.MapPath-Methode und Href-Methode.
Verwenden Sie den ~-Operator, um virtuelle Pfade im Programmiercode anzugeben.
Wenn Sie den ~-Operator verwenden, können Sie Ihre Site in einen anderen Ordner oder Speicherort verschieben, ohne Ihren Code zu ändern:
var myImagesFolder = "~/images"; var myStyleSheet = "~/styles/StyleSheet.css";
Die Server.MapPath-Methode konvertiert den virtuellen Pfad (/index.html) in einen physischen Pfad, den der Server versteht (C:DocumentsMyWebSitesDemodefault.html).
Wenn Sie eine Datendatei auf dem Server öffnen müssen, können Sie diese Methode verwenden (auf die Datendatei kann nur zugegriffen werden, indem Sie den vollständigen physischen Pfad angeben):
var pathName = "~/dataFile.txt"; var fileName = Server.MapPath(pathName);
Im nächsten Kapitel dieses Tutorials erfahren Sie mehr über das Lesen (und Schreiben) von Datendateien auf dem Server.
Die Href-Methode wandelt den im Code verwendeten Pfad in einen Pfad um, den der Browser verstehen kann (der Browser kann den ~-Operator nicht verstehen).
Mit der Href-Methode können Sie Pfade zu Ressourcen wie Bilddateien und CSS-Dateien erstellen.
Diese Methode wird normalerweise innerhalb der Elemente <a>, <img> und <link> in HTML verwendet:
@{var myStyleSheet = "~/Shared/Site.css";} <!-- Dadurch wird ein Link zur CSS-Datei erstellt --> <link rel="stylesheet" type="text/css" href="@. Href(myStyleSheet)" /> <!-- Gleich wie: --> <link rel="stylesheet" type="text/css" href="/Shared/Site.css" />
Die Href-Methode ist eine Methode des WebPage-Objekts.