Webové stránky ASP.NET – složky
Tato kapitola je o složkách a jejich cestách.
V této kapitole se dozvíte:
- O logických a fyzických strukturách složek
- O virtuálních a fyzických jménech
- O webových adresách URL a cestách
Struktura logické složky
Níže je uvedena typická struktura složek pro webové stránky webových stránek ASP.NET:
- Složka "Účet" obsahuje přihlašovací a bezpečnostní soubory
- Složka "App_Data" obsahuje databáze a datové soubory
- Složka "Images" obsahuje obrázky
- Složka "Scripts" obsahuje skripty prohlížeče
- Složka „Shared“ obsahuje běžné soubory (jako jsou soubory rozvržení a stylů)
Fyzická struktura složek
Fyzická struktura složky „Images“ na výše uvedené webové stránce může na počítači vypadat takto:
C:\Johnny\Documents\MyWebSites\Demo\Images
Virtuální a fyzická jména
Z výše uvedeného příkladu:
Virtuální název webového obrázku může být „Images/pic31.jpg“.
Ale fyzický název je "C:\Johnny\Documents\MyWebSites\Demo\Images\pic31.jpg"
URL a cesty
Pro přístup k souborům z webu se používají adresy URL: https://www.w3schools.com/html/html5_intro.asp
Adresa URL odpovídá fyzickému souboru na serveru: C:\MyWebSites\w3schools\html\html5_intro.asp
Virtuální cesta je zkratka pro reprezentaci fyzických cest. Pokud používáte virtuální cesty, můžete své stránky přesunout do jiné domény (nebo serveru), aniž byste museli aktualizovat cesty.
URL | https://www.w3schools.com/html/html5_intro.asp |
Název serveru | w3schools |
Virtuální cesta | /html/html5_intro.asp |
Fyzická cesta | C:\MyWebSites\w3schools\html\html5_intro.asp |
Kořenový adresář na disku je zapsán jako C:\, ale kořenový adresář na webu je / (lomítko).
Virtuální cesta webové složky není (téměř) nikdy stejná jako fyzická složka.
Ve svém kódu budete odkazovat na fyzickou cestu i na virtuální cestu, v závislosti na tom, co kódujete.
ASP.NET má 3 nástroje pro práci s cestami ke složkám: operátor ~, metodu Server.MapPath a metodu Href.
Operátor ~
Chcete-li zadat virtuální kořen v programovacím kódu, použijte operátor ~.
Pokud místo cesty použijete operátor ~, můžete svůj web přesunout do jiné složky nebo umístění bez změny kódu:
var myImagesFolder = "~/images";
var myStyleSheet = "~/styles/StyleSheet.css";
Metoda Server.MapPath
Metoda Server.MapPath převede virtuální cestu (/default.cshtml) na fyzickou cestu, které server rozumí (C:\Johnny\MyWebSited\Demo\default.cshtml).
Tuto metodu použijete, když potřebujete otevřít datové soubory umístěné na serveru (k datovým souborům lze přistupovat pouze s úplnou fyzickou cestou):
var pathName = "~/dataFile.txt";
var fileName = Server.MapPath(pathName);
Více o čtení (a zápisu) datových souborů na serveru se dozvíte v další kapitole tohoto tutoriálu.
Href metoda
Metoda Href převádí cestu použitou v kódu na cestu, které prohlížeč rozumí (prohlížeč nerozumí operátoru ~).
Pomocí metody Href vytváříte cesty ke zdrojům, jako jsou soubory obrázků a soubory 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.