Salve, ho un problema con un controllo datagrid collegato ad un database di Access.
Il mio progetto è costituito dalla root, una sottocartella della root di nome "admin" e due sottocartelle di "admin" che si chiamano "datastore" e "allegati"
Ho messo il mio database nella cartella "datastore", mentre la cartella "allegati" serve a contenere i file da me caricati sul server.
Questo è il codice da me utilizzato nel pulsante Upload (funziona):
Come potete vedere, ho aggiunto il nome "allegati" davanti a quello del file caricato per conservare l'intero percorso.codice:Sub btnLoad00_Click(sender As Object, e As EventArgs) If Not (fileControl00.PostedFile Is Nothing) Then Try Dim FileDest As String Dim myPath As String = fileControl00.value Dim myFileName As String = System.IO.Path.GetFileName(myPath) FileDest = "allegati" & "/" & myFileName hypFileDest.Text = (Server.MapPath(FileDest)) fileControl00.PostedFile.SaveAs((hypFileDest.Text)) End If End Sub
Ho collegato due controlli datagrid al mio database, il primo controllo è in una pagina della cartella "admin", il secondo è in una pagina della root.
Entrambi i controlli datagrid contengono un campo hyperlink che punta al file allegato.
Non ho nessun problema con la griglia nella cartella "admin" perché il percorso in archivio del file allegato è completo.
Purtroppo, la griglia nella root non mi consente di lanciare il file allegato perché il percorso derivato dal database non contiene il nome della sottocartella "admin" ma solo, ad esempio, "allegati/nomefile.pdf".
Quindi la mia domanda è la seguente: come posso intervenire nel controllo datagrid della root per fare in modo che, quando clicco sull'hyperlink, io possa aggiungere "admin" davanti al percorso del file recuperato dall'archivio?
Questo è il codice da me usato per popolare la griglia:
Gradirò qualsiasi aiuto.codice:Dim MySQL as string = "Select * from mytable" Dim myConn As OleDbConnection = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" & server.mappath("datastore/database.mdb") & ";") Dim ds as DataSet=New DataSet() Dim Cmd as New OleDbDataAdapter(MySQL,MyConn) Cmd.Fill(ds,"mytable") dgTabella.Datasource=ds.Tables("mytable").DefaultView dgTabella.DataBind() MyConn.Close()
Grazie in anticipo.

Rispondi quotando