Este capítulo proporciona información sobre carpetas y rutas de carpetas.
En ASP.NET WebPages, hay dos estructuras de carpetas, a saber, estructura de carpetas lógica y estructura de carpetas física.
En este capítulo aprenderás:
Estructura de carpetas lógica y estructura de carpetas físicas.
Nombres virtuales y físicos
URL web y rutas web
La siguiente es una estructura típica de carpetas de un sitio web ASP.NET:
La carpeta "Cuenta" contiene archivos de inicio de sesión y de seguridad.
La carpeta "App_Data" contiene archivos de datos y bases de datos
La carpeta "Imágenes" contiene imágenes.
La carpeta "Scripts" contiene scripts del navegador.
La carpeta "Compartida" contiene archivos comunes (como archivos de diseño y estilo)
La estructura de carpetas físicas de la carpeta "Imágenes" en el sitio web anterior en su computadora podría ser la siguiente:
C:DocumentosMis sitios webDemoImages
Tome el ejemplo anterior:
El nombre virtual de la imagen de un sitio web puede ser "Images/pic31.jpg".
El nombre físico correspondiente es "C:DocumentsMyWebSitesDemoImagespic31.jpg".
La URL se utiliza para acceder a los archivos del sitio web: //www.w3cschool.cn/html/html-tutorial.html
La URL corresponde al archivo físico en el servidor: C:MyWebSitesw3cschoolhtmlhtml-tutorial.html
Una ruta virtual es una representación abreviada de una ruta física. Si utiliza rutas virtuales, no necesita actualizar las rutas cuando cambia nombres de dominio o mueve sus páginas web a otros servidores.
URL | //www.w3cschool.cn/html/html-tutorial.html |
Nombre del servidor | escuela w3c |
camino virtual | /html/html-tutorial.html |
camino fisico | C:MisSitiosWebw3cschoolhtmlhtml-tutorial.html |
El directorio raíz de una unidad de disco está escrito como C:, pero el directorio raíz de un sitio web es / (barra).
La ruta virtual de una carpeta web suele ser diferente de la carpeta física.
En su código, decida entre rutas físicas y virtuales según sus necesidades de codificación.
Hay 3 herramientas para rutas de carpetas ASP.NET: operador ~, método Server.MapPath y método Href.
Utilice el operador ~ para especificar rutas virtuales en el código de programación.
Si usa el operador ~, puede mover su sitio a una carpeta o ubicación diferente sin cambiar nada de su código:
var myImagesFolder = "~/images"; var myStyleSheet = "~/styles/StyleSheet.css";
El método Server.MapPath convierte la ruta virtual (/index.html) en una ruta física que el servidor entiende (C:DocumentsMyWebSitesDemodefault.html).
Cuando necesite abrir un archivo de datos en el servidor, puede utilizar este método (solo se puede acceder al archivo de datos proporcionando la ruta física completa):
var nombre_ruta = "~/dataFile.txt"; var nombre_archivo = Server.MapPath(nombre_ruta);
En el próximo capítulo de este tutorial, aprenderá más sobre cómo leer (y escribir) archivos de datos en el servidor.
El método Href convierte la ruta utilizada en el código en una ruta que el navegador puede entender (el navegador no puede entender el operador ~).
Puede utilizar el método Href para crear rutas a recursos como archivos de imagen y archivos CSS.
Este método se utiliza normalmente dentro de los elementos <a>, <img> y <link> en HTML:
@{var myStyleSheet = "~/Shared/Site.css";} <!-- Esto crea un enlace al archivo CSS --> <link rel="stylesheet" type="text/css" href="@. Href(myStyleSheet)" /> <!-- Igual que : --> <link rel="stylesheet" type="text/css" href="/Shared/Site.css" />
El método Href es un método del objeto WebPage.