ASP.NET Web Pages - Cartella

Questa sezione introduce cartelle e percorsi di cartelle.

In questa sezione, imparerai:

  • Struttura delle cartelle logiche e fisiche
  • Nomina virtuale e fisica
  • URL e percorso web

Struttura delle cartelle logiche

Di seguito è riportata la struttura tipica delle cartelle di una pagina ASP.NET:

Struttura della cartella Web Pages
  • La cartella "Account" contiene file di login e di sicurezza
  • La cartella "App_Data" contiene database e file di dati
  • La cartella "Images" contiene immagini
  • La cartella "Scripts" contiene script del browser
  • La cartella "Shared" contiene file comuni (ad esempio, file di layout e di stile)

Struttura dei file fisici

La struttura fisica della cartella "Images" di questo sito web è simile a questo sul computer:

C:\Johnny\Documents\MyWebSites\Demo\Images

Nomina virtuale e fisica

Secondo l'esempio sopra:

Il nome virtuale dell'immagine web è simile a questo: "Images/pic31.jpg".

Ma il nome fisico è simile a questo: "C:\Johnny\Documents\MyWebSites\Demo\Images\pic31.jpg".

URL e percorso

L'URL viene utilizzato per accedere ai file web:

http://www.codew3c.com/html5/html5_intro.asp

Il file corrispondente all'URL sul server è:

C:\MyWebSites\htm5\html5_intro.asp

Il percorso virtuale è una breve forma di rappresentazione del percorso fisico. Se si utilizza il percorso virtuale, è possibile spostare le pagine web a un dominio (o server) diverso senza aggiornare il percorso.

URL	http://www.codew3c.com/html/html5_intro.asp
Nome del server	codew3c
Percorso virtuale	/html/html5_intro.asp
Percorso fisico	C:\MyWebSites\codew3c\/html/html5_intro.asp

Il percorso radice del disco rigido è scritto come: C:\ ma il percorso radice del sito web è / (slash).

Il percorso virtuale della cartella web non sarà mai uguale al percorso fisico della cartella (quasi mai).

Nel tuo codice, a seconda del contenuto del codice, potresti riferirti contemporaneamente a percorsi fisici e virtuali.

ASP.NET fornisce tre strumenti per gestire i percorsi delle cartelle: l'operatore ~, il metodo Server.MapPath e il metodo Href.

Operatore ~

Per definire il percorso radice virtuale nel codice di programmazione, utilizzare l'operatore ~.

Se si utilizza l'operatore ~ invece del percorso, è possibile spostare il sito web in una cartella o posizione diversa senza modificare alcun codice:

var myImagesFolder = "~/images";
var myStyleSheet = "~/styles/StyleSheet.css";

Metodo Server.MapPath

Il metodo Server.MapPath trasforma il percorso virtuale (/default.cshtml) in un percorso fisico comprensibile dal server (C:\Johnny\MyWebSited\Demo\default.cshtml).

Utilizzerete questo metodo quando avrete bisogno di aprire un file di dati situato sul server (i file di dati possono essere acceduti solo tramite il percorso fisico completo):

var pathName = "~/dataFile.txt";
var fileName = Server.MapPath(pathName);

Nel capitolo successivo di questa guida, imparerete di più su come leggere e scrivere file di dati sul server.

Metodo Href

Il metodo Href trasforma i percorsi nel codice in percorsi comprensibili dal browser (il browser non può comprendere l'operatore ~).

Utilizzate il metodo Href per creare percorsi verso risorse (ad esempio immagini e file CSS).

Utilizzerete spesso questo metodo nelle elementi HTML <a>, <img> e <link>:

@{var myStyleSheet = "~/Shared/Site.css";}
<!-- Creazione di un link verso il file CSS -->
<link rel="stylesheet" type="text/css" href="@Href(myStyleSheet)" />
<!-- Come sopra : -->
<link rel="stylesheet" type="text/css" href="/Shared/Site.css" />

Il metodo Href appartiene ai metodi dell'oggetto WebPage.