Grazie djciko.
Nel mentre mi è venuta anche un'altra idea, sempre utilizzando il FileUpload. Ho creato una cartella sul sito, UploadFiles, dove ci saranno tutti i files caricati dagli utenti.
codice:
// Mi carica l'eventuale allegato salvato sul db, e quindi anche sulla cartella UploadFiles
// lbAllegati è un LinkButton
// Page_Load
lbAllegati.Text = mioLab_EMC.CaricaLink(txtDatainizio.Text, rblOrarioinizio.SelectedItem.Text, dipendente);
// Se l'utente vuole aprire il file lo può fare cliccando sul LinkButton
protected void lbAllegati_Click(object sender, EventArgs e)
{
string script = "window.open('http://nomecomputer/timesheetweb/UploadFiles/" + lbAllegati.Text + "','DT_Lab_EMC')";
if (!ClientScript.IsClientScriptBlockRegistered("NewWindow"))
ClientScript.RegisterClientScriptBlock(this.GetType(), "NewWindow", script, true);
}
// Salvataggio del nome del file sul db, e file copiato sul sito dentro la cartella UploadFiles
protected void btnSalva_Click(object sender, EventArgs e)
{
mioLab_EMC.Salva(txtDatainizio.Text, rblOrarioinizio.SelectedItem.Text, txtDatafine.Text, rblOrariofine.SelectedItem.Text, ddlID_Dipendente.SelectedItem.Text, ddlCentro_costo.SelectedItem.Text, ddlCliente.SelectedValue, ddlCommessa.SelectedItem.Text, txtDescr.Text, fuLink.FileName);
string savePath = @"c:\inetpub\wwwroot\timesheetweb\UploadFiles\";
if (fuLink.HasFile)
{
string fileName = fuLink.FileName;
savePath += fileName;
fuLink.SaveAs(savePath);
lblErrore1.Text = "Il file è stato salvato come " + fileName;
lblErrore1.ForeColor = System.Drawing.Color.Green;
}
else
{
lblErrore1.Text = "Non hai specificato un file da caricare.";
lblErrore1.ForeColor = System.Drawing.Color.Red;
}
}
Funzionare funziona.