Foros del Web » Programando para Internet » ASPX (.net) »

¿Rutas dinámicas en los CSS?

Estas en el tema de ¿Rutas dinámicas en los CSS? en el foro de ASPX (.net) en Foros del Web. Buenos días, Tengo un problema con las rutas de los ficheros CSS que utilizo en mis aspx. Fíjense en estas dos lineas de CSS: Código: ...
  #1 (permalink)  
Antiguo 26/04/2006, 02:03
Avatar de moNTeZIon  
Fecha de Ingreso: enero-2005
Ubicación: Lliçà de Munt - BCN
Mensajes: 1.625
Antigüedad: 19 años, 3 meses
Puntos: 9
¿Rutas dinámicas en los CSS?

Buenos días,

Tengo un problema con las rutas de los ficheros CSS que utilizo en mis aspx. Fíjense en estas dos lineas de CSS:
Código:
/* CASO 1 */
BODY {
  background-image: url(Images/Back3.gif);
}

/* CASO 2 */
.Blanco5
{
  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled='true', sizingMethod='scale', src='Images/Blanco5.png');
}
Utilizo el mismo fichero CSS en varios web forms, y el problema viene con las paginas que estan dentro de algun subdirectorio. Pero el tema es curioso ya que de los dos ejemplos de arriba, el CASO 1 funciona correctamente, y el CASO 2 no.
En el CASO 1, parece ser que coge la ruta a partir del fichero CSS (ya que puedo ver el background de body en esas paginas "internas").
En cambio parece que el CASO 2 coja la ruta a partir de la ubicación de la página que la llama, ya que me es imposible apreciar el filtro, cuando en las páginas que están al nivel del CSS puedo verlo sin problemas. No le veo otra explicación.

Saben como solucionar este tema?
Gracias por adelantado y un saludo!
__________________
..:: moNTeZIon ::..
  #2 (permalink)  
Antiguo 03/05/2006, 15:27
 
Fecha de Ingreso: enero-2004
Mensajes: 310
Antigüedad: 20 años, 3 meses
Puntos: 0
prueba a poner /Images/Back3.gif etc
__________________
Un saludo,
Trucos
Videos
  #3 (permalink)  
Antiguo 04/05/2006, 01:24
Avatar de moNTeZIon  
Fecha de Ingreso: enero-2005
Ubicación: Lliçà de Munt - BCN
Mensajes: 1.625
Antigüedad: 19 años, 3 meses
Puntos: 9
Hola Dynk,
Ahora vi lo que ocurre. Si quiero acceder a la Carpeta raiz de mi aplicacion, debo poner:
Código:
Para el caso 1
--------------
background-image: url(/NombreApp/Images/Back3.gif);

Y para el caso 2
----------------
...sizingMethod='scale', src='/NombreApp/Images/Blanco5.png');
De esta forma me funcionan bien los dos casos. Pero ocurre que al subirlo al servidor, basta con acceder mediante "/", sin especificar el nombre de la aplicación. O sea, que si lo hago de esta forma, me tocará tener que cambiar todas las "/" por "/NombreApp/" , cosa que no veo factible.

En el foro de CSS, me comentan que aunque lo haga a través de "/NombreApp/", una vez lo suba al servidor, deberá funcionar con "/". Eso es por la configuracion del servidor IIS.

Saben si puedo configurar el IIS para que acepte la "/" como raiz de la App?
Lo único que hago es crear un directorio virtual en IIS y le indico en qué carpeta se encuentra. Luego le doy acceso anónimo y poco más... Debería hacer algo más para configurar la App?

Muchas gracias.
__________________
..:: moNTeZIon ::..
  #4 (permalink)  
Antiguo 04/05/2006, 10:38
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 2 meses
Puntos: 50
Ese es mucho de los problemas que han tenido varias personas al momento de manejar las rutas.. porque localmente uno hace tiene algo así:

http://localhost/tuApp/pagina.aspx

Pero cuando subes a produccion queda algo así:

http://www.mysite.com/pagina.aspx

Y como tenías la referencia de tu app no te va a tomar la ruta como debe..por lo cual debes hacer ésto:(al menos así es como lo manejo)

Dentro del global asax declaro una propiedad estática y la cargo en el evento Application_BeginRequest..

Cita:
public static string ApplicationPath = "";
protected void Application_BeginRequest(Object sender, EventArgs e) {
//....
//....
if (HttpContext.Current.Request.ApplicationPath != "/")
ApplicationPath = HttpContext.Current.Request.ApplicationPath;
}
Y listo, siempre tendré la ruta de mi aplicacion para cargarla en cualquier parte de mi proyecto..

Quedando algo así:
Cita:
...background="<%= Global.ApplicationPath %>/Images/Blanco5.png..
Cualquier duda o comentario será bienvenido..

Salu2 (de hecho voy a poner la referencia en las faq´s.)
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net
  #5 (permalink)  
Antiguo 05/05/2006, 02:09
Avatar de moNTeZIon  
Fecha de Ingreso: enero-2005
Ubicación: Lliçà de Munt - BCN
Mensajes: 1.625
Antigüedad: 19 años, 3 meses
Puntos: 9
jeje, si RootK, un apaño muy parecido al que utilizo.
Yo lo hago así:
Código:
...background="<%=IIF(Request.ApplicationPath = "/", "", Request.ApplicationPath)%>/Images/Blanco5.png..
Y realmente es como me funciona, pero primero que me molesta para tener que poner una simple ruta, tener que tirar de codigo asp, con el consiguiente cálculo que ha de hacer para construir la ruta.

Pero bueno, si solo fuera eso. El problema principal, si se fijan, lo tengo en una hoja CSS, en la que, por lo que yo sé, no puedo incrustar código ASP, y por lo tanto no puedo utilizar el mismo método que utilizo en las páginas aspx.

Alguna solución? Ojalá exista alguna...
Saludos cordiales.
__________________
..:: moNTeZIon ::..
  #6 (permalink)  
Antiguo 09/05/2006, 01:48
Avatar de moNTeZIon  
Fecha de Ingreso: enero-2005
Ubicación: Lliçà de Munt - BCN
Mensajes: 1.625
Antigüedad: 19 años, 3 meses
Puntos: 9
Ahi va una solucion elegante para este embrollo:

http://www.forosdelweb.com/showthrea...52#post1537852
__________________
..:: moNTeZIon ::..
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:38.