2 votes

Comment stocker les contrôles asp dans un tableau?

Je utilise 10 contrôles asp:fileUpload pour télécharger plusieurs fichiers

Maintenant, je veux vérifier à chaque téléchargement s'il y a un fichier dedans ou non?

Pour cela, j'ai pris un tableau comme

FileUpload uploadarr[] = new FileUpload[10];

mais comment vérifier s'il a un fichier posté ou non en utilisant 10 contrôles comme FileUpload1, FileUpload2, FileUpload3... FileUpload10

HttpPostedFile myFile = FileUpload1.PostedFile;

2voto

jdavies Points 7712

Au lieu de stocker chaque FileUpload dans un tableau, vous pourriez utiliser la propriété HttpRequest.Files pour parcourir tous les fichiers postés sur la page comme ceci :

Markup

Code

protected void UploadFilesButton_Click(object sender, EventArgs e)
{
    HttpFileCollection uploadedFiles = Request.Files;
    for (int fileIndex = 0; fileIndex < uploadedFiles.Count; fileIndex++)
    {
        HttpPostedFile uploadedFile = uploadedFiles[fileIndex];
        string fileName = System.IO.Path.GetFileName(uploadedFile.FileName);

        if (!string.IsNullOrEmpty(fileName))
        {
            //Téléchargez le fichier comme requis
            //uploadedFile.SaveAs("??");
        }
    }
}

J'espère que cela aide.

0voto

Paul Creasey Points 15663

Avec Linq, essayez ceci :

var files = uploadarr.Where(x => x.HasFile).Select(x => x.PostedFile);

0voto

lak-b Points 764

Dans le fichier .cs de la page :

protected override void OnInit(EventArgs e)
{

    for (int i = 0; i < 10; i++)
    {
        // Le Panel est un panel ASP
        Panel.Controls.Add(new FileUpload());
    }
}

protected void Page_Load(object sender, EventArgs e)
{
    foreach (var p in Panel.Controls)
    {
        if (p is FileUpload)
            Response.Write(((FileUpload)p).FileName);
    }
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X