Ten rozdział jest o folderów i ścieżek folderów.
W tym rozdziale dowiesz się:
- O logicznej i fizycznej struktury folderów
- O nazw wirtualnych i fizycznych
- O adresy URL stron internetowych i Ścieżek
Logiczna struktura folderów
Poniżej jest typowa struktura folderów na stronie internetowej ASP.NET stron internetowych:
- "Account" folder zawiera pliki logowania i zabezpieczeń
- "App_Data" folder zawiera baz danych i plików z danymi
- "Images" folder zawiera obrazy
- "Scripts" Folder zawiera skrypty przeglądarki
- "Shared" folder zawiera wspólnych plików (like layout and style files)
Fizyczna struktura folderów
Fizyczna struktura dla "Images" folderu na powyższej stronie może wyglądać na komputerze:
C: \ Johnny \ Documents \ MyWebSites \ Demo \ Images
Wirtualne i fizyczne Nazwy
Z powyższego przykładu:
Wirtualna nazwa obrazu internetowej może być "Images/pic31.jpg" .
Ale nazwa fizyczna jest "C:\Johnny\Documents\MyWebSites\Demo\Images\pic31.jpg"
Adresy i ścieżki
Adresy URL są używane do dostępu do plików z internetu: http://www.w3ii.com/html/html5_intro.asp
URL odpowiada fizycznego pliku na serwerze: C: \ MyWebSites \ w3ii \ html \ html5_intro.asp
Wirtualna trasa jest skrótem reprezentuje ścieżki fizyczne. Jeśli używasz wirtualnych ścieżek, można przenieść swoje strony do innej domeny (or server) bez konieczności zaktualizowania ścieżki.
URL | http://www.w3ii.com/html/html5_intro.asp |
Nazwa serwera | w3ii |
wirtualna ścieżka | /html/html5_intro.asp |
ścieżka fizyczna | C: \ MyWebSites \ w3ii \ HTML \ html5_intro.asp |
Korzeń na dysku jest napisane jak C: \, ale korzeń na stronie internetowej jest / (forward slash) .
Wirtualna ścieżka folderu internetowej jest (almost) nigdy nie jest taka sama jak w folderze fizycznego.
W kodzie będzie, odniesienie zarówno ścieżkę fizyczną i wirtualną ścieżkę, w zależności od tego, czego kodowania.
ASP.NET ma 3 narzędzi do pracy ze ścieżkami folderu: operator ~, metoda Server.MapPath, a metoda Href.
Operator ~
Aby określić korzeń wirtualny w kodzie programowania użyć operatora ~.
Jeśli użyć operatora ~, zamiast ścieżki, można przenieść swoją stronę do innego folderu lub lokalizacji bez zmieniania kodu:
var myImagesFolder = "~/images";
var myStyleSheet = "~/styles/StyleSheet.css";
Metoda Server.MapPath
Sposób Server.MapPath zmienia ścieżkę wirtualną (/default.cshtml) na ścieżkę fizyczną, że serwer może zrozumieć (C:\Johnny\MyWebSited\Demo\default.cshtml) .
Będziesz korzystać z tej metody, gdy trzeba otwierać pliki danych znajdujących się na serwerze (pliki danych mogą być dostępne tylko w pełnej ścieżki fizycznej):
var pathName = "~/dataFile.txt";
var fileName = Server.MapPath(pathName);
Dowiesz się więcej o czytanie z (and writing to) pliki danych na serwerze w następnym rozdziale tego podręcznika.
Metoda Href
Metoda Href przekształca ścieżkę używaną w kodzie do ścieżki, że przeglądarka może zrozumieć (the browser cannot understand the ~ operator) .
Użyć metody href tworzyć ścieżki do zasobów, takich jak pliki graficzne i pliki CSS.
Będziesz często korzystać z tej metody w <a> HTML <img> i <link> elementów:
@{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"
/>
Sposób Href jest sposób przedmiotu stronie.