ASP.NET Web Pages - Carpeta
Este capítulo presenta conocimientos sobre carpetas y rutas de carpetas.
En este capítulo, aprenderá:
- Estructura lógica de carpetas y estructura física de carpetas
- Nombres virtuales y nombres físicos
- URL web y rutas web
Estructura lógica de carpetas
A continuación se muestra una estructura de carpetas típica de un sitio web ASP.NET:

- La carpeta "Account" contiene archivos de inicio de sesión y seguridad
- La carpeta "App_Data" contiene archivos de base de datos y datos
- La carpeta "Images" contiene imágenes
- La carpeta "Scripts" contiene scripts de navegador
- La carpeta "Shared" contiene archivos comunes (como archivos de diseño y estilos)
Estructura física de carpetas
La estructura física de carpetas de la carpeta "Images" del sitio web anterior en la computadora podría ser la siguiente:
C:\Documents\MyWebSites\Demo\Images
Nombres virtuales y nombres físicos
Tomando el ejemplo anterior:
El nombre virtual de la imagen del sitio web podría ser "Images/pic31.jpg".
El nombre físico correspondiente es "C:\Documents\MyWebSites\Demo\Images\pic31.jpg".
URL y rutas
Las URL se utilizan para acceder a archivos en el sitio web:http://www.example.com/html/html-tutorial.html
La URL corresponde al archivo físico en el servidor: C:\MyWebSites\ejemplo\html\html-tutorial.html
La ruta virtual es una representación abreviada de la ruta física. Si utiliza rutas virtuales, cuando cambie el dominio o mueva sus páginas web a otro servidor, no tendrá que actualizar las rutas.
| URL | http://www.example.com/html/html-tutorial.html |
| Nombre del servidor | EJEMPLO |
| Ruta virtual | /html/html-tutorial.html |
| Ruta física | C:\MyWebSites\ejemplo\html\html-tutorial.html |
La raíz de la unidad de disco se escribe como C:, pero la raíz del sitio web es / (barra).
La ruta virtual de una carpeta web generalmente no es la misma que la carpeta física.
En su código, decida si usar rutas físicas o virtuales según sus necesidades de programación.
ASP.NET tiene 3 herramientas para rutas de carpetas: el operador ~, el método Server.MapPath y el método Href.
Operador ~
Utilice el operador ~ para especificar rutas virtuales en el código de programación.
Si utiliza el operador ~, cuando su sitio se migre a una carpeta o ubicación diferente, no tendrá que cambiar ninguno de sus códigos:
var myStyleSheet = "~/styles/StyleSheet.css";
Método Server.MapPath
El método Server.MapPath convierte una ruta virtual (/index.html) en una ruta física que el servidor puede entender (C:\Documents\MyWebSites\Demo\default.html).
Cuando necesite abrir archivos de datos en el servidor, puede usar este método (solo se puede acceder a los archivos de datos si se proporciona la ruta física completa):
var fileName = Server.MapPath(pathName);
En el próximo capítulo de este tutorial, aprenderá más sobre cómo leer (y escribir) archivos de datos en el servidor.
Método Href
El método Href convierte las rutas utilizadas en el código en rutas que el navegador puede entender (el navegador no entiende el operador ~).
Puede usar el método Href para crear rutas para recursos (como archivos de imagen y archivos CSS).
Generalmente se usa este método en los elementos <a>, <img> y <link> del HTML:
<!-- This creates a link to the CSS file. -->
<link rel="stylesheet" type="text/css" href="@Href(myStyleSheet).html" />
<!-- Same as : -->
<link rel="stylesheet" type="text/css" href="../Shared/Site.css.html" />
El método Href es un método del objeto WebPage.
Otras extensiones