Esto no sería un problema en absoluto si toda la aplicación estuviera en un mismo folder... imaginemos:
si quisieras insertar la imagen imagen1.gif en control_de_usuario1.ascx... lo único que tendrías que hacer es poner
[img src="imagen1.gif" border="0" /]
y luego arrastro simplemente control_de_usuario1.ascx a la pagina pagina1.aspx, y listo, la imagen se mostraría sin problemas.
Lamentablemente no todo es de color de rosa en esta vida jeje.
Vamos a otro caso:
qué pasaría si mi aplicación tuviera esta estructura de organización?
y así sucesivamente. Ahora, digamos que en un control_admin1.ascx necesito jalar varias imágenes, el archivo2.css y icono1.gif ... cómo hago?
fácil no? renuncias y se acabó el problema... nooooooooooo.
y que no te parezca complicada esa estructura de arriba ah?, ni absurda... porque hay peores... cada developer implementa su propio infierno jeje, acorde a la necesidad, su experiencia y comodidad.
cómo solucionamos esto?
varias alternativas:
1.- Usar la virgulilla ~ (sólo en controles de servidor)
osea:
y solucionado: la virgulilla lo hizo otra vez!! jeje
En otras palabras, es fácil para un control de servidor resolver esta situación.
Pero no todo en la vida es control de servidor...
qué pasa si tenemos varios tag html anchor [a] para redireccionar a otras páginas. Y para colmo, estamos en un folder muy anidado. La virgulilla no funciona en controles HTML.
Lo que podrías hacer en este caso es convertir a tu control HTML en control de servidor... osea
2.-ponerle el atributo runat="server" a tu control html... y luego lo usarías así:
[a href="~/ruta_a_mi_pagina_deseada/pagina.aspx" runat="server"]ir a otra página[/a]
Pero no es una solución elegante... ni algo que deba sugerir a mis lectores incondicionales jeje... no lo hagan!!
Y Juanito me pregunta:
--Y por qué simplemente no usas puro controles de servidor?
no seas malo, sería consumir recursos innecesariamente.
Afortunadamente Scott y sus chicos han pensado en casi todo. Pero como ya se extendió mucho este artículo... mejor la seguimos mañana.
No hay comentarios.:
Publicar un comentario