Foros del Web » Programación para mayores de 30 ;) » .NET »

Asignar path a ImageButton dinámicamente

Estas en el tema de Asignar path a ImageButton dinámicamente en el foro de .NET en Foros del Web. Hola que tal, estoy trabajando en una web app y pasa lo siguiente: tengo un control System.Web.Ui.WebControls.ImageButton al cual le asigno el path de la ...
  #1 (permalink)  
Antiguo 06/05/2005, 13:38
Avatar de HenrydeSousa  
Fecha de Ingreso: septiembre-2004
Ubicación: Venezuela
Mensajes: 300
Antigüedad: 19 años, 7 meses
Puntos: 2
Asignar path a ImageButton dinámicamente

Hola que tal,
estoy trabajando en una web app y pasa lo siguiente:
tengo un control System.Web.Ui.WebControls.ImageButton al cual le asigno el path
de la imagen a su propiedad ImageUrl en tiempo de ejecución, este path lo estoy
sacando de una base de datos, bien, en determinado momento hago una actualización
del archivo(imagen) que está en un directorio en el servidor, es decir cuando el usuario
cambia la imagen, la subo y todo bien, lo único que no cambia es el nombre de la imagen,
el cual se arma con el login del usuario de forma que sea única respecto a las demás.
El problema es que cuando el usuario cambia la imagen y yo hago la actualización en el servidor
el control ImageButton en lugar de mostar la nueva imagen continua mostrando la anterior.

Me explico:
el usuario A tiene una imegen, el path es Imagenes/A.jpg.
cuando el usuario A cambia su imagen, yo subo el nuevo archivo con el mismo
nombre A.jpg, de forma que sobrescribo la anterior, cuando le vuelvo a asignar
este path al ImageButton él aún muestra la imagen anterior y no la que acabo de subir.
Sin embargo, si el usuario elige un archivo con extención .gif el path quedaría A.gif,
cuando ocurre esto el ImageButton si actualiza el archivo.
Es como si el ImageButton estuviese buscando la imagen en la caché del explorador o algo así,
y no directamente en el servidor. A ver si me pueden echar una mano.
  #2 (permalink)  
Antiguo 06/05/2005, 14:55
 
Fecha de Ingreso: octubre-2004
Mensajes: 41
Antigüedad: 19 años, 7 meses
Puntos: 0
tienes que hacer que te refresque la pagina, para que vuelva hacer la consulta a la base de datos....
  #3 (permalink)  
Antiguo 06/05/2005, 15:35
Avatar de HenrydeSousa  
Fecha de Ingreso: septiembre-2004
Ubicación: Venezuela
Mensajes: 300
Antigüedad: 19 años, 7 meses
Puntos: 2
Bueno de hecho tengo que hacer un postback para poder subir el nuevo archivo al servidor, y ahi aprovecho y vuelvo a asignarle el path al ImageButton nuevamente, que sigue siendo el mismo, lo que cambia es el archivo. Sin embargo no actualiza...
  #4 (permalink)  
Antiguo 06/05/2005, 16:11
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
HenrydeSousa, ese tipo de cuestiones muchas veces ocurre porque se queda en cache la imágen, y aunque la hayas actualizado no se ve el cambio ya que hace referencia a la misma direccion.

Lo estás corriendo de forma local, o lo estas haciendo en tu server que pasa por el firewall ??

Si es así asegurate de poner en los metas que no guarde en cache para que veas los cambios de forma inmediata para esos casos.

Salu2
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net
  #5 (permalink)  
Antiguo 07/05/2005, 06:43
Avatar de HenrydeSousa  
Fecha de Ingreso: septiembre-2004
Ubicación: Venezuela
Mensajes: 300
Antigüedad: 19 años, 7 meses
Puntos: 2
Si Rootk, eso es lo que me imaginaba, que como el nombre del archivo era el mismo, siempre busca el archivo en la caché del explorador y no en el server. That's the problem.
No sé como hacer para que no haga eso.

Cita:
Lo estás corriendo de forma local, o lo estas haciendo en tu server que pasa por el firewall ??
Aún está en desarrollo, lo estoy corriendo local.

Cita:
Si es así asegurate de poner en los metas que no guarde en cache para que veas los cambios de forma inmediata para esos casos.
Dos preguntas,
1) tengo que poner en los tags que no guarde en cache, si lo tengo en un server o si lo tengo local?, No sirve para los dos casos?

2) Disculpa pero no sé, que debo colocar en los meta tags para que no guarde en la caché?

Saludos y gracias por responder...
  #6 (permalink)  
Antiguo 07/05/2005, 07:32
Avatar de HenrydeSousa  
Fecha de Ingreso: septiembre-2004
Ubicación: Venezuela
Mensajes: 300
Antigüedad: 19 años, 7 meses
Puntos: 2
Bueno conseguí esto, no sé si hay alguna otra forma:
<meta http-equiv="expires" content="-1">
y
<meta http-equiv="Pragma" content="no-cache">
Pero parece que la última no funciona con IE, que es mejor hacer uso de la primera.

Última edición por HenrydeSousa; 07/05/2005 a las 07:37
  #7 (permalink)  
Antiguo 07/05/2005, 18:24
Avatar de xknown  
Fecha de Ingreso: diciembre-2004
Ubicación: Cusco - Perú
Mensajes: 2.248
Antigüedad: 19 años, 4 meses
Puntos: 7
Puedes ver lo que dice MS respecto al problema que mecionas sobre el caché:
El "problema" que mencionas
http://support.microsoft.com/kb/q222064/
http://support.microsoft.com/kb/234067/ES/

Puedes probar con esto:
Response.Cache.SetCacheability(HttpCacheability.No Cache)
Response.Cache.SetAllowResponseInBrowserHistory(fa lse)

Volviendo a tu problema inicial, me parece que también sería una opción que en la propiedad ImageUrl del ImageButton no pongas directamente la dirección de tu imagen, sino una página adicional que se encargue de gestionar tus imágenes en base al URL que tienes en tu base de datos, un ejemplo sería este:

ImageButton1.ImageUrl = "/imagenes.aspx?id=foo.gif"

Saludos
__________________
Alex Concha
Buayacorp - Programación y Diseño
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 04:54.