Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    Problema con gridview e fileupload

    Ciao a tutti!

    Sto diventando pazza! Non riesco a fare una cosa. In pratica, ho un gridview che mi restituisce i risultati da database. Sull'ultima colonna del mio gridview c'è un FileUpload.
    Vi posto il codice che uso nel file .cs:

    codice:
    protected void UploadButton_Click(object sender, EventArgs e)
        {
            // Save the uploaded file to an "Uploads" directory
            // that already exists in the file system of the 
            // currently executing ASP.NET application.  
            // Creating an "Uploads" directory isolates uploaded 
            // files in a separate directory. This helps prevent
            // users from overwriting existing application files by
            // uploading files with names like "Web.config".
            string saveDir = @"\immagini\usato\";
    
            // Get the physical file system path for the currently
            // executing application.
            string appPath = Request.PhysicalApplicationPath;
    
            // Before attempting to save the file, verify
            // that the FileUpload control contains a file.
            if (FileUpload1.HasFile)
    
            {
                string savePath = appPath + saveDir +
                    Server.HtmlEncode(FileUpload1.FileName);
    
                // Call the SaveAs method to save the 
                // uploaded file to the specified path.
                // This example does not perform all
                // the necessary error checking.               
                // If a file with the same name
                // already exists in the specified path,  
                // the uploaded file overwrites it.
                FileUpload1.SaveAs(savePath);
    
                // Notify the user that the file was uploaded successfully.
                UploadStatusLabel.Text = FileUpload1.FileName+" caricato correttamente.";
    
            }
            else
            {
                // Notify the user that a file was not uploaded.
                UploadStatusLabel.Text = "Devi specificare un file!";
            }
        }
    e questo invece è quello che ho all'interno del GridView:

    codice:
      <asp:TemplateField HeaderText="Carica foto">
                            <EditItemTemplate>
                                <asp:FileUpload ID="FileUpload1" runat="server" CssClass="inputsubmit1" />
    
           
    
    
    
           <asp:Button id="UploadButton" 
               Text="Carica file"
               OnClick="UploadButton_Click"
               runat="server" CssClass="inputsubmit1">
           </asp:Button>    
    
           <hr />
    
           <asp:Label id="UploadStatusLabel"
               runat="server">
           </asp:Label>
                            </EditItemTemplate>
                            <ItemTemplate>
                                
                            </ItemTemplate>
                        </asp:TemplateField>
    Ora... se inserisco il UploadFile fuori dal GridView funziona tutto perfettamente... ma se lascio all'interno del gridview mi vien fuori questo errore di compilazione:


    codice:
    Errore di compilazione 
    Descrizione: Errore durante la compilazione di una risorsa necessaria per soddisfare la richiesta. Rivedere i dettagli relativi all'errore e modificare in modo appropriato il codice sorgente. 
    
    Messaggio di errore del compilatore: CS0103: Il nome 'FileUpload1' non esiste nel contesto corrente.
    
    Errore nel codice sorgente:
    
     
    
    Riga 39:         // Before attempting to save the file, verify
    Riga 40:         // that the FileUpload control contains a file.
    Riga 41:         if (FileUpload1.HasFile)
    Riga 42: 
    Riga 43:         {

    Come faccio a risolvere? Penso che basterebbe indirizzare correttamente FileUpload1 nel file .cs ... ma come si fa?

    Ragazzi aiutatemi perché ci sto perdendo la testa... Grazie a chi mi darà una mano!
    Un bacio!
    Fanny

  2. #2
    Utente di HTML.it
    Registrato dal
    Nov 2006
    Messaggi
    559
    ciao,
    il problema è che il compilatore non puo' vedere i controlli all' interno di un item template, per il fatto che tali controlli sono "proprietari" del contenitore.
    per salvare il file puoi fare cosi:

    Request.Files[0].SaveAs(tuoPath);


    e ottieni lo stesso risultato!
    se nella vita avro avuto la possiblita di aiutare qualcuno non avro vissuto invano (E. Dikinson)

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.