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.