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

Mantener el contenido de un HtmlInputFile

Estas en el tema de Mantener el contenido de un HtmlInputFile en el foro de .NET en Foros del Web. Hola. Alguien sabe cómo puedo hacer que el valor de un HtmlInputFile se mantenga tras varios PostBacks? Estoy cargando una imagen e ingresando otros datos ...
  #1 (permalink)  
Antiguo 08/10/2004, 16:18
 
Fecha de Ingreso: octubre-2004
Mensajes: 14
Antigüedad: 19 años, 6 meses
Puntos: 0
Mantener el contenido de un HtmlInputFile

Hola.

Alguien sabe cómo puedo hacer que el valor de un HtmlInputFile se mantenga tras varios PostBacks?
Estoy cargando una imagen e ingresando otros datos en un formulario. Antes de guardar la imagen estoy haciendo postbacks, por lo que se me pierde el contenido del HtmlInputFile y no sé cómo recuperarlo.

Mil gracias.
  #2 (permalink)  
Antiguo 08/10/2004, 18:54
Avatar de sindestino  
Fecha de Ingreso: noviembre-2003
Ubicación: xxxx xxxx
Mensajes: 270
Antigüedad: 20 años, 6 meses
Puntos: 0
realmente no creo que se pueda hacer lo que pedís. Aunque implementaras mantenimiento de estado manual (guardando el valor en otro lado), no es posible asignarle dicha propiedad al control por código, solo el usuario puede establecer el .value del htmlinputfile. Éste comportamiento es intrínseco del control.
Yo trataría de evitar postbacks innecesarios desde el momento en que el usuario selecciona la foto hasta que presiona el botón guardar.

Saludos

Última edición por sindestino; 08/10/2004 a las 19:06
  #3 (permalink)  
Antiguo 09/10/2004, 08:04
 
Fecha de Ingreso: octubre-2004
Mensajes: 14
Antigüedad: 19 años, 6 meses
Puntos: 0
Hola.

Lástima. Eso pensé que me tocaría hacer. Gracias por tu ayuda.
  #4 (permalink)  
Antiguo 20/10/2005, 10:53
 
Fecha de Ingreso: octubre-2005
Mensajes: 10
Antigüedad: 18 años, 6 meses
Puntos: 0
Solución

Hola.

Podrías hacer lo siguiente:

1.- Agregar un TextBox a tu página, ejemplo:

<asp:TextBox ID="nombrePrimerArchivo" Runat=server></asp:TextBox>

2.- Agrega un input file a tu pagina, ocultalo y en el evento onChange has que guarde su valor en la caja te texto, ejemplo:

<input id="primerArchivo" type="file" style="VISIBILITY: hidden; POSITION: absolute; TOP: -300px" onChange="document.all.nombrePrimerArchivo.value = this.value;">

3.- Agrega un imput button a tu página y en el evento onClick haz que llame al metodo Click() del input file para que te permita seleccionar un archivo.


<input type="button" value="Primer Archivo" onclick="document.all.primerArchivo.click();">


Lo anterior mostrara una caja de texto y un boton, al dar click en el boton aparecera el cuador de dialogo que permite seleccionar un archivo, y su valor se guardara en la caja de texto, y esta caja de texto como todo control de servidor guarda su estado, y cuando necesites recuperar el nombre del archivo seleccionado lo tomas directamente de la caja de texto, ejemplo:

string nombreArchivo = nombrePrimerArchivo.Text;

Yo le he utilizado y funciona muy bien.

Aquí el código completo:

<asp:TextBox ID="nombrePrimerArchivo" Runat=server></asp:TextBox>

<input id="primerArchivo" type="file" style="VISIBILITY: hidden; POSITION: absolute; TOP: -300px" onChange="document.all.nombrePrimerArchivo.value = this.value;">

<input type="button" value="Primer Archivo" onclick="document.all.primerArchivo.click();">

Espeor te sirva.
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 16:49.