Pages Web ASP.NET - Dossiers


Ce chapitre concerne les dossiers et les chemins d'accès aux dossiers.


Dans ce chapitre, vous apprendrez :

  • À propos des structures de dossiers logiques et physiques
  • À propos des noms virtuels et physiques
  • À propos des URL et des chemins Web

Structure logique des dossiers

Vous trouverez ci-dessous une structure de dossiers typique pour un site Web de pages Web ASP.NET :

Dossiers
  • Le dossier "Compte" contient les fichiers de connexion et de sécurité
  • Le dossier "App_Data" contient des bases de données et des fichiers de données
  • Le dossier "Images" contient des images
  • Le dossier "Scripts" contient les scripts du navigateur
  • Le dossier "Partagé" contient des fichiers communs (comme les fichiers de mise en page et de style)

Structure des dossiers physiques

La structure physique du dossier "Images" sur le site Web ci-dessus pourrait ressembler à ceci sur un ordinateur :

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


Noms virtuels et physiques

A partir de l'exemple ci-dessus :

Le nom virtuel d'une image Web peut être "Images/pic31.jpg".

Mais le nom physique est "C:\Johnny\Documents\MyWebSites\Demo\Images\pic31.jpg"



URL et chemins

Les URL sont utilisées pour accéder aux fichiers à partir du Web : https://www.w3schools.com/html/html5_intro.asp

L'URL correspond à un fichier physique sur un serveur : C:\MyWebSites\w3schools\html\html5_intro.asp

Un chemin virtuel est un raccourci pour représenter des chemins physiques. Si vous utilisez des chemins virtuels, vous pouvez déplacer vos pages vers un autre domaine (ou serveur) sans avoir à mettre à jour les chemins.

URL https://www.w3schools.com/html/html5_intro.asp
Nom du serveur w3schools
Chemin virtuel /html/html5_intro.asp
Chemin physique C:\MesSitesWeb\w3schools\html\html5_intro.asp

La racine d'un lecteur de disque s'écrit comme C:\, mais la racine d'un site Web est / (barre oblique).

Le chemin virtuel d'un dossier Web n'est (presque) jamais le même que le dossier physique.

Dans votre code, vous ferez référence à la fois au chemin physique et au chemin virtuel, selon ce que vous codez.

ASP.NET dispose de 3 outils pour travailler avec les chemins de dossier : l'opérateur ~, la méthode Server.MapPath et la méthode Href.


L'opérateur ~

Pour spécifier la racine virtuelle dans le code de programmation, utilisez l'opérateur ~.

Si vous utilisez l'opérateur ~, au lieu d'un chemin, vous pouvez déplacer votre site Web vers un autre dossier ou emplacement sans modifier le code :

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

La méthode Server.MapPath

La méthode Server.MapPath convertit un chemin virtuel (/default.cshtml) en un chemin physique que le serveur peut comprendre (C:\Johnny\MyWebSited\Demo\default.cshtml).

Vous utiliserez cette méthode lorsque vous aurez besoin d'ouvrir des fichiers de données situés sur le serveur (les fichiers de données ne sont accessibles qu'avec un chemin physique complet) :

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

Vous en apprendrez plus sur la lecture (et l'écriture) de fichiers de données sur le serveur dans le prochain chapitre de ce didacticiel.


La méthode Href

La méthode Href convertit un chemin utilisé dans le code en un chemin que le navigateur peut comprendre (le navigateur ne peut pas comprendre l'opérateur ~).

Vous utilisez la méthode Href pour créer des chemins vers des ressources telles que des fichiers image et des fichiers 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.