Pagine Web ASP.NET - Cartelle
Questo capitolo riguarda le cartelle ei percorsi delle cartelle.
In questo capitolo imparerai:
- Informazioni sulle strutture di cartelle logiche e fisiche
- Informazioni sui nomi virtuali e fisici
- Informazioni su URL e percorsi web
Struttura logica delle cartelle
Di seguito è riportata una tipica struttura di cartelle per un sito Web di pagine Web ASP.NET:
- La cartella "Account" contiene i file di accesso e di sicurezza
- La cartella "App_Data" contiene database e file di dati
- La cartella "Immagini" contiene immagini
- La cartella "Script" contiene gli script del browser
- La cartella "Condivisa" contiene file comuni (come file di layout e di stile)
Struttura delle cartelle fisiche
La struttura fisica per la cartella "Immagini" nel sito Web sopra potrebbe essere simile a questa su un computer:
C:\Johnny\Documents\MyWebSites\Demo\Images
Nomi virtuali e fisici
Dall'esempio sopra:
Il nome virtuale di un'immagine web potrebbe essere "Images/pic31.jpg".
Ma il nome fisico è "C:\Johnny\Documents\MyWebSites\Demo\Images\pic31.jpg"
URL e percorsi
Gli URL vengono utilizzati per accedere ai file dal Web: https://www.w3schools.com/html/html5_intro.asp
L'URL corrisponde a un file fisico su un server: C:\MyWebSites\w3schools\html\html5_intro.asp
Un percorso virtuale è un'abbreviazione per rappresentare percorsi fisici. Se utilizzi percorsi virtuali, puoi spostare le tue pagine su un dominio (o server) diverso senza dover aggiornare i percorsi.
URL | https://www.w3schools.com/html/html5_intro.asp |
Nome del server | w3scuole |
Percorso virtuale | /html/html5_intro.asp |
Percorso fisico | C:\MyWebSites\w3schools\html\html5_intro.asp |
La radice su un'unità disco è scritta come C:\, ma la radice su un sito Web è / (barra).
Il percorso virtuale di una cartella Web non è (quasi) mai uguale a quello della cartella fisica.
Nel tuo codice farai riferimento sia al percorso fisico che al percorso virtuale, a seconda di cosa stai codificando.
ASP.NET dispone di 3 strumenti per lavorare con i percorsi delle cartelle: l'operatore ~, il metodo Server.MapPath e il metodo Href.
L'operatore ~
Per specificare la radice virtuale nel codice di programmazione, utilizzare l'operatore ~.
Se utilizzi l'operatore ~, invece di un percorso, puoi spostare il tuo sito Web in una cartella o posizione diversa senza modificare alcun codice:
var myImagesFolder = "~/images";
var myStyleSheet = "~/styles/StyleSheet.css";
Il metodo Server.MapPath
Il metodo Server.MapPath converte un percorso virtuale (/default.cshtml) in un percorso fisico che il server può comprendere (C:\Johnny\MyWebSited\Demo\default.cshtml).
Utilizzerai questo metodo quando devi aprire file di dati che si trovano sul server (è possibile accedere ai file di dati solo con un percorso fisico completo):
var pathName = "~/dataFile.txt";
var fileName = Server.MapPath(pathName);
Imparerai di più sulla lettura (e sulla scrittura) dei file di dati sul server nel prossimo capitolo di questo tutorial.
Il metodo Href
Il metodo Href converte un percorso utilizzato nel codice in un percorso che il browser può comprendere (il browser non può comprendere l'operatore ~).
Utilizzare il metodo Href per creare percorsi a risorse come file di immagine e file 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.