none
Evitar que FileUpload se limpie cuando se genera un evento en el Formulario RRS feed

  • Debate general

  • Hola

    Tengo un fileUpload y un botón de la siguiente manera:


      <asp:FileUpload ID="FileUpload1" runat="server" />
    
       <asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" />

    Para evitar que se limpie el fileUpload lo estoy conteniendo en un UpdatePanel de la siguiente manera:

        <asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
                <asp:UpdatePanel ID="UpdatePanel1" runat="server">
                    <ContentTemplate>
                        <asp:FileUpload ID="FileUpload1" runat="server" />
                    </ContentTemplate>
                </asp:UpdatePanel>
    
                <asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" />

    pero cada vez que se hace click en el botón se elimina el contenido del fileUpload

    Me imagino que es en el Code Behind donde deberia controlar esto:

        Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
            If Not Me.IsPostBack Then
    
                ' Código
    
            End If
        End Sub
    Agradezco la ayuda que me puedan prestar.
    Gracias.






    Respuesta de foro Microsoft





    • Editado yulfredy jueves, 16 de noviembre de 2017 21:35
    jueves, 16 de noviembre de 2017 21:16

Todas las respuestas

  • El problema si recuerdo es que el botón esta haciendo un postback a tu pagina, por eso se limpia el fileupload, intenta meter el boton dentro de un updatepanel y me comentas el resultado

    Saludos


    No olvides votar mi comentario si te ha ayudado y marcarlo como respuesta si ha sido la solución, con eso ayudas a mejorar mi reputación en la comunidad y a identificar la respuesta a la gente que tenga el mismo problema.

    Heytel Martinez



    • Editado HRMA jueves, 16 de noviembre de 2017 22:13
    jueves, 16 de noviembre de 2017 22:10
  • Tendrías que meter el botón en otro UpdatePanel, porque de lo contrario el botón hace un postback total y no te sirve de nada el hecho de que el FileUpload esté dentro de un UpdatePanel.

    Asegúrate de revisar la documentación de ASP.NET AJAX, que creo recordar que el FieUpload tenía algún tipo de incompatibilidad con el UpdatePanel (pero que solo se manifiesta en el momento de enviar un fichero, no tiene nada que ver con el hecho de que se te vacíe al pulsar el botón).

    jueves, 16 de noviembre de 2017 22:17
  • Hola

    No funciona metiendo el botón el un UpdatePenel tampoco.Intento agregar un Trigger de la siguiente manera:

                <asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
                <asp:UpdatePanel ID="UpdatePanel1" runat="server">
                    <ContentTemplate>
                        <asp:FileUpload ID="FileUpload1" runat="server" />
                    </ContentTemplate>
                       <Triggers>
                      <asp:PostBackTrigger ControlID="Button1" />
                  </Triggers>
                </asp:UpdatePanel>
    
                <asp:UpdatePanel ID="UpdatePanel2" runat="server">
                    <ContentTemplate>
                        <asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" />
                    </ContentTemplate>
                </asp:UpdatePanel>
    Pero tampoco funciona



    Respuesta de foro Microsoft

    jueves, 16 de noviembre de 2017 23:14
  • Hola, lo único que deberías considerar es que el control que hace el postback sobre el fileUpload haga un postback completo lo cual parece que si hace, o quizás lo tienes dentro de otro update panel en tu página , puedes revisar

    Using FileUpload Control inside ASP.Net AJAX UpdatePanel Control


    Votar es agradecer.
    Saludos.
    Lima-Perú

    viernes, 17 de noviembre de 2017 2:32
  • hola

    No se puede evitar que se limpie el control fileupload, el objetivo de este es realizar el upload de un file seleccionado y no de mantener esa seleccion, mas que nada por temas de seguridad

    el control no funciona muy bien con el UpdatePanel, evalua lo que se comenta aqui

    Using FileUpload Control inside ASP.Net AJAX UpdatePanel Control

    >>pero cada vez que se hace click en el botón se elimina el contenido del fileUpload

    se supone que cuando realzias click se envia el file al servidor, donde deberias guardarlo en el servidor y luego mostrar lo subido en algun otro control, como ser un image

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    viernes, 17 de noviembre de 2017 12:22