Páginas web ASP.NET - Carpetas
Este capítulo trata sobre carpetas y rutas de carpetas.
En este capítulo aprenderás:
- Acerca de las estructuras de carpetas lógicas y físicas
- Acerca de los nombres virtuales y físicos
- Acerca de URL y rutas web
Estructura de carpetas lógicas
A continuación se muestra una estructura de carpetas típica para un sitio web de páginas web ASP.NET:
- La carpeta "Cuenta" contiene archivos de inicio de sesión y de seguridad.
- La carpeta "App_Data" contiene bases de datos y archivos de datos
- La carpeta "Imágenes" contiene imágenes
- La carpeta "Scripts" contiene scripts del navegador
- La carpeta "Compartido" contiene archivos comunes (como archivos de diseño y estilo)
Estructura de carpetas físicas
La estructura física de la carpeta "Imágenes" en el sitio web anterior podría verse así en una computadora:
C:\Johnny\Documentos\MisSitiosWeb\Demostración\Imágenes
Nombres físicos y virtuales
Del ejemplo anterior:
El nombre virtual de una imagen web podría ser "Images/pic31.jpg".
Pero el nombre físico es "C:\Johnny\Documents\MyWebSites\Demo\Images\pic31.jpg"
URL y rutas
Las URL se utilizan para acceder a los archivos desde la web: https://www.w3schools.com/html/html5_intro.asp
La URL corresponde a un archivo físico en un servidor: C:\MyWebSites\w3schools\html\html5_intro.asp
Una ruta virtual es una forma abreviada de representar rutas físicas. Si usa rutas virtuales, puede mover sus páginas a un dominio (o servidor) diferente sin tener que actualizar las rutas.
URL | https://www.w3schools.com/html/html5_intro.asp |
Nombre del servidor | w3escuelas |
ruta virtual | /html/html5_intro.asp |
Ruta física | C:\MisSitiosWeb\w3schools\html\html5_intro.asp |
La raíz en una unidad de disco se escribe como C:\, pero la raíz en un sitio web es / (barra inclinada).
La ruta virtual de una carpeta web (casi) nunca es la misma que la carpeta física.
En su código, hará referencia tanto a la ruta física como a la ruta virtual, según lo que esté codificando.
ASP.NET tiene 3 herramientas para trabajar con rutas de carpetas: el operador ~, el método Server.MapPath y el método Href.
El operador ~
Para especificar la raíz virtual en el código de programación, use el operador ~.
Si usa el operador ~, en lugar de una ruta, puede mover su sitio web a una carpeta o ubicación diferente sin cambiar ningún código:
var myImagesFolder = "~/images";
var myStyleSheet = "~/styles/StyleSheet.css";
El método Server.MapPath
El método Server.MapPath convierte una ruta virtual (/default.cshtml) en una ruta física que el servidor puede entender (C:\Johnny\MyWebSited\Demo\default.cshtml).
Utilizará este método cuando necesite abrir archivos de datos ubicados en el servidor (solo se puede acceder a los archivos de datos con una ruta física completa):
var pathName = "~/dataFile.txt";
var fileName = Server.MapPath(pathName);
Aprenderá más sobre cómo leer (y escribir en) archivos de datos en el servidor en el próximo capítulo de este tutorial.
El método Href
El método Href convierte una ruta utilizada en el código en una ruta que el navegador pueda comprender (el navegador no puede comprender el operador ~).
Utiliza el método Href para crear rutas a recursos como archivos de imagen y archivos 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.