10 messaggi dal 19 maggio 2015
ciao a tutti, premetto che sto imparando ora questo nuovo linguaggio, e avrei bisogno nel vostro aiuto.
In pratico ho un formview e un input type fileupload dove permetto all'utente di caricare un'immagine. Il problema è che non so come poter utilizzare il fileupload in insert e in edit mode del form view.... Sapete qualche pezzo di codice che potrei usare? qualche consigli utili? grazie in anticipo ciao
11.886 messaggi dal 09 febbraio 2002
Contributi
Ciao,

malo ha scritto:

ho un formview e un input type fileupload

Ok, potresti gestire l'evento OnItemUpdating (o OnItemInserting) del FormView in questo modo:
<asp:FormView id="form" runat="server" OnItemUpdating="form_ItemUpdating">

L'evento si verifica prima che i dati vengano inviati al database per essere aggiornati quindi hai l'opportunità di intervenire a tuo piacimento.

Dal metodo form_ItemUpdating che dovrai creare nel codefile, puoi leggerti il file dal controllo FileUpload e salvarlo su disco. Poi, assegna la stringa del percorso del file appena salvato alla proprietà su cui vuoi che sia memorizzato.

Ad esempio:
protected void form_ItemUpdating(object sender, FormViewUpdateEventArgs e)
{
    //Se sono stati caricati file...
    if (Request.Files.Count > 0) {
        //Decido il percorso
        var percorsoDelFile = "Metti un percorso qui";
        //E salvo il file
        Request.Files[0].SaveAs(percorsoDelFile);
        //Poi assegno quello stesso percorso ad uno dei campi
        //Io qui assumo che il tuo campo si chiami "Percorso" ma potrebbe chiamarsi in altri modi
        e.NewValues["Percorso"] = percorsoDelFile;
    }
}

Questo presuppone che nella tabella del database tu abbia una colonna destinata a conservare il percorso del file caricato.

ciao,
Moreno
Modificato da BrightSoul il 05 ottobre 2015 21.31 -

Enjoy learning and just keep making
10 messaggi dal 19 maggio 2015
grazie mille per l'aiuto... però volevochiedert anche un'altra cosa.
dopo che l'utente ha selezionato il file per fare l'inserimento io come passo il nome del file alla query?
uso un control parameter?
grazie ancora ciao
11.886 messaggi dal 09 febbraio 2002
Contributi
Ciao,

malo ha scritto:

io come passo il nome del file alla query?
uso un control parameter?

Lo decidi tu, non credo che dovrai usare un ControlParameter ma userai lo stesso sistema che stai già usando per tutti gli altri campi. Infatti non ci sono differenze se non che, anziché essere compilato dall'utente, lo compili tu durante l'evento ItemUpdating come ti ho mostrato.
Request.Files[0].SaveAs(percorsoDelFile);
//Lo compili tu qui:
e.NewValues["Percorso"] = percorsoDelFile;


Ieri ho dimenticato di dire che "Percorso" deve essere un campo input all'interno del FormView.
Dato che non è l'utente a doverlo modificare, crealo come campo hidden in binding con la colonna in cui memorizzi il percorso.
<asp:HiddenField ID="Percorso" runat="server" Value='<%# Bind("Percorso") %>' />


ciao,
Moreno
Modificato da BrightSoul il 06 ottobre 2015 20.52 -

Enjoy learning and just keep making

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.