FileUpload automatically upload after set filepath

Please support our ASP.NET advertiser: Intel Parallel Studio Home
Thread Solved

Join Date: Aug 2007
Posts: 55
Reputation: culebrin is an unknown quantity at this point 
Solved Threads: 1
culebrin culebrin is offline Offline
Junior Poster in Training

FileUpload automatically upload after set filepath

 
0
  #1
Jul 6th, 2009
Hi,

I have a gridview that has a fileupload (fupRespuesta) control in a itemtemplate field, I need to enable automatic upload after file is selected.

Then I added a imageButton (imgRespuesta) in the template field and added its event with addhandler...

Well my problem is that when I uncomment the red line, the event of the image button don't fire (I can't understand why)

I need it work, or some other idea to do it.

Heres my code:

Private Sub gv_RowCreated(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles gvPropuestasDiagnosticoListar.RowCreated

Dim imgRespuesta As New ImageButton
        Dim fupRespuesta As New FileUpload
        imgRespuesta = e.Row.FindControl("imgProDiagUploadRespuesta")
        fupRespuesta = e.Row.FindControl("fupvcProDiaRutaRespuesta")
        If Not imgRespuesta Is Nothing And Not fupRespuesta Is Nothing Then
            AddHandler imgRespuesta.Click, AddressOf img_Click
            'imgRespuesta.Attributes.Add("Style", "Display:none")
            'fupRespuesta.Attributes.Add("onchange", "return document.getElementById('" + imgRespuesta.ClientID + "').click();")
        End If
End Sub

Private Sub img_Click(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs)
        Dim fup As FileUpload
        Dim img As ImageButton
        fup = CType(sender.Parent.Parent, GridViewRow).FindControl("fupvcProDiaRutaPropuesta")
        img = CType(sender.Parent.Parent, GridViewRow).FindControl("imgProDiagUploadPropuesta")
        If fup.HasFile = True Then
            img.Attributes.Remove("Style")
            Dim fullpath = IO.Path.GetFullPath(fup.FileName)
            Dim name = IO.Path.GetFileName(fullpath)
            fup.SaveAs(Server.MapPath("~") + "\Documentos\" & name.ToString)
        End If
    End Sub
Reply With Quote Quick reply to this message  
Join Date: Jun 2009
Posts: 432
Reputation: Ramesh S will become famous soon enough Ramesh S will become famous soon enough 
Solved Threads: 82
Ramesh S Ramesh S is online now Online
Posting Pro in Training

Re: FileUpload automatically upload after set filepath

 
1
  #2
Jul 7th, 2009
Write the following code in RowDataBound event of the GridView control. This code is to attach onChange event of the file upload control to the click event of image button control.

imgRespuesta = e.Row.FindControl("imgProDiagUploadRespuesta")fupRespuesta = e.Row.FindControl("fupvcProDiaRutaRespuesta")

fupRespuesta.Attributes.Add("onchange", "return document.getElementById('" + imgRespuesta.ClientID + "').click();")

Write this code in RowCreated event of the GridView. This code is to set style for image button and add handler to it.

imgRespuesta = e.Row.FindControl("imgProDiagUploadRespuesta")
imgRespuesta.Attributes.Add("Style", "Display:none")
AddHandler imgRespuesta.Click, AddressOf img_Click

I have tested this way in C#. It is working for me. I can able to reach img_Click event if a file is browsed and selected.
Reply With Quote Quick reply to this message  
Join Date: Aug 2007
Posts: 55
Reputation: culebrin is an unknown quantity at this point 
Solved Threads: 1
culebrin culebrin is offline Offline
Junior Poster in Training

Re: FileUpload automatically upload after set filepath

 
0
  #3
Jul 8th, 2009
I tried it, and it reaches the event, as you said, but the problem now is that the HasFile property of the FileUpload control is false when after I select the file... And I don't know why...

I hope you can help me with this...



Private Sub imgEnvio_Click(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs)
        Dim fup As FileUpload
        Dim img As ImageButton
        fup = CType(sender.Parent.Parent, GridViewRow).FindControl("fupvcProDiaRutaPropuesta")
        img = CType(sender.Parent.Parent, GridViewRow).FindControl("imgProDiagUploadPropuesta")
        If fup.HasFile Then <-- this is not true after I select the file
            img.Attributes.Remove("Style")
            Dim fullpath = IO.Path.GetFullPath(fup.FileName)
            Dim name = IO.Path.GetFileName(fullpath)
            fup.SaveAs(Server.MapPath("~") + "\Documentos\" & name.ToString)
        End If
    End Sub

Originally Posted by Ramesh S View Post
Write the following code in RowDataBound event of the GridView control. This code is to attach onChange event of the file upload control to the click event of image button control.

imgRespuesta = e.Row.FindControl("imgProDiagUploadRespuesta")fupRespuesta = e.Row.FindControl("fupvcProDiaRutaRespuesta")

fupRespuesta.Attributes.Add("onchange", "return document.getElementById('" + imgRespuesta.ClientID + "').click();")

Write this code in RowCreated event of the GridView. This code is to set style for image button and add handler to it.

imgRespuesta = e.Row.FindControl("imgProDiagUploadRespuesta")
imgRespuesta.Attributes.Add("Style", "Display:none")
AddHandler imgRespuesta.Click, AddressOf img_Click

I have tested this way in C#. It is working for me. I can able to reach img_Click event if a file is browsed and selected.
Reply With Quote Quick reply to this message  
Join Date: Aug 2007
Posts: 55
Reputation: culebrin is an unknown quantity at this point 
Solved Threads: 1
culebrin culebrin is offline Offline
Junior Poster in Training

Re: FileUpload automatically upload after set filepath

 
0
  #4
Jul 13th, 2009
Hi,

Using ajax, I manage to solve this, registering the imagebutton for postback in the scriptmanager... and that's it!
Reply With Quote Quick reply to this message  
Reply

This thread has been marked solved.
Perhaps start a new thread instead?
Message:


Thread Tools Search this Thread



About Us | Contact Us | Advertise | DaniWeb | Acceptable Use Policy | RSS Feed

©2003 - 2009 DaniWeb® LLC