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

Problema con control FileUpload

Estas en el tema de Problema con control FileUpload en el foro de ASPX (.net) en Foros del Web. Buenas a todos, Tengo un control FileUpload y 2 botones, de la siguiente forma: Código HTML: <asp:FileUpload ID= "fSubirPrograma" runat= "server" Style= "display: none;" /> ...
  #1 (permalink)  
Antiguo 18/06/2008, 02:38
Avatar de jabi  
Fecha de Ingreso: noviembre-2006
Mensajes: 120
Antigüedad: 17 años, 6 meses
Puntos: 1
Problema con control FileUpload

Buenas a todos,

Tengo un control FileUpload y 2 botones, de la siguiente forma:

Código HTML:
    <asp:FileUpload ID="fSubirPrograma" runat="server" Style="display: none;" />
    <input type="button" id="btnSubirFichero" runat="server"                                             onclick="AbrirDialogoFichero(this);"
                                    class="botonSubirFichero" title="Elegir programa" />
    <input type="button" id="btnAbrirFichero" runat="server"
                                    class="botonAbrirFichero" title="Guardar programa" onserverclick="SubirFicheroServidor" /> 
Como véis tengo el FileUpload oculto y lo abro mediante una función JS desde el primer botón, ésto funciona correctamente. Después tengo otro botón que es el que se encarga de subir el fichero al servidor.

El problema es que al ir a subir dicho archivo se ha perdido del control FileUpload, ¿por qué sucede ésto? ¿no se puede abrir el cuadro de diálogo desde otro botón distinto al Examinar del FileUpload?

A ver si alguien me puede echar una mano

Saludos,
__________________
No estoy aquí de vacaciones, creéme.
  #2 (permalink)  
Antiguo 18/06/2008, 06:11
Avatar de mdavila  
Fecha de Ingreso: julio-2007
Ubicación: Montevideo (Uruguay)
Mensajes: 919
Antigüedad: 16 años, 9 meses
Puntos: 13
Respuesta: Problema con control FileUpload

Si entiendo bien... el FileUpload se te oculta luego de hacer el upload!!!, bueno esto te sucede porque tenes la popiedad display en none y al cargar la pagina nuevamente este se oculta.

Lo que podes hacer es insertar un scriptmanager y un updatepanel (ajax) y el file upload dentro del mismo, asi evitas el postback completamente y no refresca la pagina.

Saludos
  #3 (permalink)  
Antiguo 18/06/2008, 07:33
Avatar de jabi  
Fecha de Ingreso: noviembre-2006
Mensajes: 120
Antigüedad: 17 años, 6 meses
Puntos: 1
Respuesta: Problema con control FileUpload

Hola mdavila, gracias por responder.

La propiedad display con valor "none" la tengo puesta queriendo, y es así porque lo que quiero es manejar la subida de ficheros desde otro botón distinto al del FileUpload, ocultando además la caja de texto.

Lo tengo ya metido en un UpdatePanel pero por otros motivos, que haga recarga o no en este caso me es indiferente

¿Alguna idea más para abrir el diálogo desde un botón distinto al que viene por defecto con el control FileUpload?

Saludos,
__________________
No estoy aquí de vacaciones, creéme.
  #4 (permalink)  
Antiguo 18/06/2008, 10:35
Avatar de mdavila  
Fecha de Ingreso: julio-2007
Ubicación: Montevideo (Uruguay)
Mensajes: 919
Antigüedad: 16 años, 9 meses
Puntos: 13
Respuesta: Problema con control FileUpload

Ahora entiendo lo que queres....
Esto te va a servir creo.

<script type="text/javascript">

function BrowseFile()
{
var fileUpload = document.getElementById("<%=Flp1.ClientID %>");
fileUpload.click();
var filePath = fileUpload.value;

}
</script>

y este es el boton para asignar el valor al upload
<input id="pepe" type="button" value="TuExaminar" onclick="BrowseFile()" />
  #5 (permalink)  
Antiguo 18/06/2008, 15:02
Avatar de jabi  
Fecha de Ingreso: noviembre-2006
Mensajes: 120
Antigüedad: 17 años, 6 meses
Puntos: 1
Respuesta: Problema con control FileUpload

Hola de nuevo,

Creo que planteé mal la pregunta, ya que ya había conseguiro abrir la ventana de diálogo así, con el método click(). Lo que quería solucionar es que nada más seleccionar un archivo este se subiera al servidor sin necesidad de pinchar en otro botón, cosa que de momento me ha sido imposible... :(

Imagino que esto será ya más complejo.

Gracias de todas formas mdavila.
__________________
No estoy aquí de vacaciones, creéme.
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 22:54.