12 messaggi dal 13 luglio 2010
Salve a tutti. Sto apprendendo ASP.NET (la versione è la 2.0 per motivi di hosting, con Visual Web Developer 2005)
Ecco la questione:
Ho una pagina nel quale inserisco in un textbox il nome di una galleria che vado a creare. Dopo aver effettuato il postback nella successiva pagina vado a recuperare il valore con
protected void Page_Load(object sender, EventArgs e)      
{      
TextBox vaiGal = (TextBox)Page.PreviousPage.FindControl("nomeCat");      
String galleria = vaiGal.Text;      
stato.Text = "Le immagini verranno caricate nella galleria " + galleria;      
}      

Ed il valore viene effettivamente ritornato (viene mostrato in alto).
A questo punto ho un form e 10 controlli di upload con il quale l'utente può caricare fino a 10 immagini.
Il codice per caricare i file è
protected void upload_Click(object sender, EventArgs e)    
{    
HttpFileCollection fc = Request.Files;    
   for (int i = 0; i < fc.Count; i++)    
   {    
       try    
       {    
       HttpPostedFile uploadedFile = fc[i];    
       string nomeFile = Path.GetFileName(uploadedFile.FileName).ToString();    
       HttpImgUpload upload = new HttpImgUpload(uploadedFile);    
       upload.DestinationFolder = "upload";    
       upload.ImageFilename = nomeFile;    
       upload.Format = ImageFormat.Jpeg;    
       upload.SaveImage();    
       }    
       catch (Exception err)    
       {    
       }    
       finally    
       {    
       }    
     }

Con questo voglio caricare i file nella cartella upload/$nomedellacategoria cliccando sul pulsante "carica"(si, non è ancora finito). Se tolgo la linea
TextBox vaiGal = (TextBox)Page.PreviousPage.FindControl("nomeCat");  

tutti i file vengono caricati nella dir upload (tutto ok)
altrimenti mi da errore:
System.NullReferenceException: Riferimento a un oggetto non impostato su un'istanza di oggetto.    
    
Errore nel codice sorgente:     
Riga 27: TextBox vaiGal = (TextBox)Page.PreviousPage.FindControl("nomeCat");    


Spero di essere stato chiaro. Come è possibile che la textbox vaiGal sia impostata a null dopo aver cliccato per caricare i file, mentre all'apertura della pagina ritornava il valore corretto?
Grazie a tutti.
3.165 messaggi dal 06 settembre 2002
Contributi | Blog
Ciao,

appena apri la seconda pagina, Page.Previous è la pagina che ha fatto il post. Quando invece clicchi per caricare i file, Page.Previous non punta più alla prima pagina. Ti conviene salvarti il nome della galleria nel ViewState.

HTH
.

Nothing can be born from hartred

Stefano (SM15455) Mostarda
http://blogs.aspitalia.com/SM15455
Rome Italy

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.