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žky
  • 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.