FILEUPLOAD all'interno di una detailsview

mercoledì 23 marzo 2011 - 17.59
Tag Elenco Tags  VB.NET  |  .NET 2.0  |  .NET 3.0  |  .NET 3.5  |  Visual Studio 2010  |  SQL Server Express  |  VBScript

lukaone Profilo | Newbie

Salve a tutti,
Ho questo problema:

Nella mio detailsview ho in modalità edit, un campo fileupload dove allegare un file per poterlo salvare e caricare nel DB.
la modalità che uso è questa:


<asp:TemplateField HeaderText="Allegato 1">
<EditItemTemplate>
<asp:FileUpload ID="FILE_allegato_1" runat="server" />
</EditItemTemplate>
</asp:TemplateField>

dopodichè all'interno del mio detailsview metto OnItemUpdating="DTLcontratti_ItemUpdating"..... e la sua Sub:


Sub DTLcontratti_ItemUpdating(ByVal sender As Object, ByVal e As DetailsViewUpdateEventArgs)

Dim uplfile1 As FileUpload
Dim allegato_1 As String

uplfile1 = CType(DTLcontratti.FindControl("FILE_allegato_1"), FileUpload)

If uplfile1.HasFile Then
allegato_1 = DateTime.Now.Ticks.ToString + "_" + uplfile1.FileName
uplfile1.SaveAs(Server.MapPath("/allegati/" + allegato_1))
sqldettaglicontratto.UpdateParameters("allegato_1").DefaultValue = allegato_1
End If

End Sub

ma quando lancio il comando di aggiornamento funziona tutti i campi tranne questo il quale risulta non trovare in file.
In pratica non aggiorna niente ne salva il file ne all'interno del db.
Ho provato ad escludere il controllo sul campo e l'aggiornamento al DB va a buon fine ma naturalmente senza file...

Attendo vostre...

alexmed Profilo | Guru

Ciao
Hai risolto?

Perchè serve anche a me e quindi ho fatto delle prove:
Premesso che utilizzo un db Access ho notato una cosa "strana".
Trascino un controllo AccessDataSource nella pagina;
Vado in Configura origine dati
Scelgo la tabella, clicco sull'asterisco per selezionare tutte le colonne, poi su Avanzate ed abilito Genera istruzioni INSERT ...
Clicco avanti poi fine, si aggiorna il codice nella pagina e NON funziona!!!!!!!.

Se al posto di cliccare sull'asterisco seleziono campo per campo della tabella ..... sorpresa!!!! FUNZIONA!

Fermo restando il codice da aggiungere all'evento DetailsView1.ItemUpdated

Ciao



alexmed

lukaone Profilo | Newbie

Ciao!
Si ho risolto stamattina!
In pratica il problema non era nè per via del DB, nè per un errore di programmazione.
Non mi ero accorto di avere tutto all'interno di un UpdatePanel e quindi di conseguenza in un ContentTemplate.
In questo modo l'UpdatePanel andava in conflitto con il FileUpload visto che non avveniva il postback.
Tolto quindi l'UpdatePanel è andato tutto liscio....

Grazie cmq spero che qualcun'altro possa giovare da questa soluzione!

Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5