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:

Folders
  • 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 myImagesFolder = "~/images";
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 pathName = "~/dataFile.txt";
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:

@{var myStyleSheet = "~/Shared/Site.css";}

<!-- 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