So che l'argomento non è nuovo ma anche guardando negli arretrati e in rete non ne esco:
Ho un updatepanel che contiene un formview (agganciato a un datasource con i suoi insert/update nella parte aspx) che contiene a sua volta un controllo fileupload.

Ho 2 problemi:
Numero 1 - lettura del nomefile per salvataggio dell'info in db
Nell'evento inserting e updating del datasource lanciavo una funzione che andava a leggere il nome del file ed a valorizzare il parametro per l'insert/update.
codice:
 Protected Sub nomiallegati(ByVal e As System.Web.UI.WebControls.SqlDataSourceCommandEventArgs, ByVal Optional tor As String = "R")
        Dim nomefile = ""
.......
        Dim flup As FileUpload = FormView2.FindControl("FileUpload1")
        If flup.HasFile Then
            Dim NomeCompleto = flup.FileName
            Dim Delim1 = InStrRev(NomeCompleto, "/")
            Dim Delim2 = InStrRev(NomeCompleto, "\")
            If Delim1 > Delim2 Then
                nomefile = Right(NomeCompleto, Len(NomeCompleto) - Delim1)
            Else
                nomefile = Right(NomeCompleto, Len(NomeCompleto) - Delim2)
            End If

            e.Command.Parameters("@rk_allegato").Value = Trim(Right(nomefile, 100))
            
        End If
    End Sub
Grazie all'updatepanel il mio fileupload risulta non avere mai files (hasfiles è sempre false).
In rete ho trovato di tutto e ho anche provato tutto ma senza capirci niente.
Ho letto che il form dev'essere di tipo multipart-formdata perciò nel load di pagina ho aggiunto
Page.Form.Attributes.Add("enctype", "multipart/form-data")
.... senza risultati.
Poi ho letto che il controllo dev'essere aggiunto ai triggers dell'updatepanel (ma perchè poi?) e allora ho aggiunto anche
fupl = FormView2.FindControl("FileUpload1")
ScriptManager.GetCurrent(Me).RegisterPostBackContr ol(fupl)
ma questo oltre a non dare risultati mi porta un eccezione più o meno così
Control with ID 'FileUpload1' being registered through RegisterAsyncPostBackControl or RegisterPostBackControl must implement either INamingContainer, IPostBackDataHandler, or IPostBackEventHandler.
Insomma sono ancora al palo e non riesco a tirar fuori il nome del file indicato nel fileupload... mi serve vs graditissimo aiuto.

Numero 2 - caricamento del file
Non so se risolvendo il problema 1 si risolva anche questo comunque la mia tecnica era di fare l'insert/update dei dati del formview e poi, negli eventi inserted e updated del datasource, lanciare la funzione seguente che fisicamente carica i files sul server
codice:
   Protected Sub caricafile(ByVal conto As String, ByVal codice As String, ByVal Optional tor As String = "R")
...........
        'prendo i file allegati e li carico nella apposita directory
        Try
            Dim hfc As HttpFileCollection = Request.Files
            For i As Integer = 0 To hfc.Count - 1
                Dim hpf As HttpPostedFile = hfc(i)
                If hpf.ContentLength > 0 Then
                    hpf.SaveAs(ConfigurationManager.AppSettings("uplpath") & Path.GetFileName(hpf.FileName))
                End If
            Next

        Catch ex As Exception
            ' Handle your exception here
        End Try
    End Sub
Con l'updatepanel il gioco non funziona più perchè i Request.files, guarda un po', sono sempre vuoti... ma dove diavolo vanno a finire??
Si noti che l'uplaod devo farlo assolutamente dopo aver eseguito l'update/insert.