Strony internetowe ASP.NET — foldery
Ten rozdział dotyczy folderów i ścieżek folderów.
W tym rozdziale dowiesz się:
- Informacje o logicznych i fizycznych strukturach folderów
- Informacje o nazwach wirtualnych i fizycznych
- Informacje o internetowych adresach URL i ścieżkach
Logiczna struktura folderów
Poniżej znajduje się typowa struktura folderów dla witryny sieci Web ASP.NET:
- Folder „Konto” zawiera pliki logowania i bezpieczeństwa
- Folder „App_Data” zawiera bazy danych i pliki danych
- Folder „Obrazy” zawiera obrazy
- Folder „Skrypty” zawiera skrypty przeglądarki
- Folder „Udostępniony” zawiera wspólne pliki (takie jak pliki układów i stylów)
Struktura folderów fizycznych
Fizyczna struktura folderu „Obrazy” w powyższej witrynie internetowej może wyglądać tak na komputerze:
C:\Johnny\Dokumenty\Moje Witryny\Demo\Obrazy
Nazwy wirtualne i fizyczne
Z powyższego przykładu:
Wirtualna nazwa obrazu internetowego może brzmieć „Images/pic31.jpg”.
Ale fizyczna nazwa to „C:\Johnny\Documents\MyWebSites\Demo\Images\pic31.jpg”
Adresy URL i ścieżki
Adresy URL służą do uzyskiwania dostępu do plików z sieci: https://www.w3schools.com/html/html5_intro.asp
Adres URL odpowiada fizycznemu plikowi na serwerze: C:\MyWebSites\w3schools\html\html5_intro.asp
Ścieżka wirtualna jest skrótem do reprezentowania ścieżek fizycznych. Jeśli korzystasz ze ścieżek wirtualnych, możesz przenieść swoje strony do innej domeny (lub serwera) bez konieczności aktualizowania ścieżek.
URL | https://www.w3schools.com/html/html5_intro.asp |
Nazwa serwera | w3schools |
Ścieżka wirtualna | /html/html5_intro.asp |
Ścieżka fizyczna | C:\MojeWitryny\w3schools\html\html5_intro.asp |
Katalog główny na dysku jest napisany jak C:\, ale katalogiem głównym na stronie internetowej jest / (ukośnik).
Ścieżka wirtualna folderu internetowego (prawie) nigdy nie jest taka sama jak folderu fizycznego.
W swoim kodzie będziesz odwoływał się zarówno do ścieżki fizycznej, jak i wirtualnej, w zależności od tego, co kodujesz.
ASP.NET ma 3 narzędzia do pracy ze ścieżkami folderów: operator ~, metodę Server.MapPath i metodę Href.
~ Operator
Aby określić wirtualny katalog główny w kodzie programistycznym, użyj operatora ~.
Jeśli zamiast ścieżki użyjesz operatora ~, możesz przenieść swoją witrynę do innego folderu lub lokalizacji bez zmiany kodu:
var myImagesFolder = "~/images";
var myStyleSheet = "~/styles/StyleSheet.css";
Metoda Server.MapPath
Metoda Server.MapPath konwertuje ścieżkę wirtualną (/default.cshtml) na ścieżkę fizyczną, którą serwer może zrozumieć (C:\Johnny\MyWebSited\Demo\default.cshtml).
Użyjesz tej metody, gdy będziesz musiał otworzyć pliki danych znajdujące się na serwerze (pliki danych są dostępne tylko z pełną ścieżką fizyczną):
var pathName = "~/dataFile.txt";
var fileName = Server.MapPath(pathName);
Więcej o odczytywaniu (i zapisywaniu) plików danych na serwerze dowiesz się w następnym rozdziale tego samouczka.
Metoda Href
Metoda Href konwertuje ścieżkę używaną w kodzie na ścieżkę zrozumiałą dla przeglądarki (przeglądarka nie może zrozumieć operatora ~).
Używasz metody Href do tworzenia ścieżek do zasobów, takich jak pliki obrazów i pliki CSS.
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.