viernes, 4 de noviembre de 2016

ASP.NET: URLs relativas en controles de servidor

Con los controles de servidor ASP.NET, existe otra opción para hacer referencia a los recursos de nuestro sitio web: Se puede utilizar el carácter de tilde (~) para apuntar a la raíz actual del sitio. Esto es especialmente útil cuando se ejecuta nuestro sitio web como una carpeta de aplicación separada bajo el sitio web principal. Por ejemplo: Nuestro sitio web esta configurado para correr como www.misitioweb.com/Sitio y no bajo www.misitioweb.com. Para ver lo que eso significa, consideremos la siguiente imagen que utiliza la tilde en su atributo ImageURL:

<asp:Image ID="Image1" runat="server" ImageUrl="~/Images/Header.jpg" />
Cuando se utiliza una carpeta de aplicación como puede ser "Sitio", la imagen se busca en "/Sitio/images/Header.jpg". Si en algún momento decidimos reconfigurar nuestro sitio web para que funcione sin una carpeta de aplicación, la imagen se buscará en "/Images/Header.jpg" sin necesidad de cambiar ningún código.También puede utilizar la sintaxis ~ en elementos HTML normales, siempre que se añada el atributo "runat". De esta manera, el camino (path) se procesa en el servidor y luego se devuelve al cliente. El siguiente ejemplo muestra un enlace HTML normal que se vincula a una página en la carpeta "Management":

<a href="~/Management/Default.aspx" runat="server">Management</a>

No hay comentarios:

Publicar un comentario