IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

Fileupload créé dynamiquement et rechargement de page


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juin 2008
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 31
    Par défaut Fileupload créé dynamiquement et rechargement de page
    Bonjour,

    Je dois créer dynamiquement x control Fileupload que j'ajoute dans un panel.
    Cela fonctione bien, sauf que je n'arrive pas à récuperer les fichiers selectionés.
    Au moment du clic sur mon bouton Upload, lorsque je parcours les controls de mon panel pour récupérer mes FileUpload il n'y en a plus aucun.
    Je pense que cela vient du fait que la page se recharge, mais je ne sais pas trop quoi faire...

    Merci d'avance

  2. #2
    Membre expérimenté
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2009
    Messages
    229
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2009
    Messages : 229
    Par défaut
    Il ne faut pas se baser sur la méthode click du bouton Upload.
    Plutôt, tu dois créer un autre bouton et c'est, en cliquant sur ce dernier, tu peux récupérer le fichier sélectionné.

  3. #3
    Membre averti
    Inscrit en
    Juin 2008
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 31
    Par défaut
    non mais le bouton Upload c'est bien un bouton que j'ai créé et que j'ai appelé btnUpload.

  4. #4
    Membre expérimenté
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2009
    Messages
    229
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2009
    Messages : 229
    Par défaut
    tu peux nous montrer le code aspx et code behind qui t'as développé.

  5. #5
    Membre averti
    Inscrit en
    Juin 2008
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 31
    Par défaut
    La fonction appelée dans le load pour afficher les FileUpload :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
     
      private void AfficherPJ(List<string> l)
            {
      PanelDynamique.Controls.Clear();
     
     
                    //on affiche les fileupload
                    Label lab;
                    FileUpload f;
                    Panel pan;
                    Panel p1;
                    string Madate = "";
     
    if (ListePI.Count > 0)
                    {
                        BtnEnvoyerPJ.Visible = true;
                        foreach (PI _p in ListePI)
                        {
                            pan = new Panel();
                            pan.GroupingText = "PI " + _p.NumPI;
                            PanelDynamique.Controls.Add(pan);
                            int x = 0;
                            //pj de la PI
                            p1 = new Panel();
                            f = new FileUpload();
                            f.ID ="PI" + _p.Id;
                            lab = new Label();
                            lab.Text = "PI : ";
                            p1.Controls.Add(lab);
                            p1.Controls.Add(f);
     
                            pan.Controls.Add(p1);
     
                            foreach (Demande _d in _p.Listedemande)
                            {
                                f = new FileUpload();
     
                                Madate = _d.DateDemande.Replace("/", "_");
                                Madate = Madate.Replace(":", "_");
                                f.ID = Madate;
     
                                lab = new Label();
                                lab.Text = "Ref   " + _d.Ref;
                                p1 = new Panel();
                                p1.Controls.Add(lab);
                                p1.Controls.Add(f);
     
                                pan.Controls.Add(p1);
     
                            }
                        }
                    }
    Ma fonction pour récuperer les fichier qui est appelée au clic de mon bouton :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
     
      private void RecupPJ()
            {
                try
                {
                    int x = 0;
                    foreach (object c in PanelDynamique.Controls)
                    {
     
                        if (c.GetType().ToString()== "System.Web.UI.WebControls.Panel")
                        {
                            //PI Panel
                            Panel p = (Panel)c;
     
                            foreach (object o in p.Controls)
                            {
                                //Panel Interne
                                if (o.GetType().ToString() == "System.Web.UI.WebControls.Panel")
                                {
                                    Panel pref = (Panel)o;
                                    foreach (object o1 in pref.Controls)
                                    {
                                        if (o1.GetType().ToString() == "System.Web.UI.WebControls.FileUpload")
                                        {
                                            FileUpload f = (FileUpload)o1;
                                            if (f.HasFile)
                                            {
                                                  //Mon traitement                        
                                            }
     
                                        }
                                    }
     
                                }
                            }
     
                        }
     
                    }
                    Label1.Text = x.ToString();
                }
                catch (Exception ex)
                {
                    Label1.Text = ex.Message;
                }

  6. #6
    Membre expérimenté
    Homme Profil pro
    Développeur ASP.Net - disponible pour des missions
    Inscrit en
    Septembre 2008
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur ASP.Net - disponible pour des missions

    Informations forums :
    Inscription : Septembre 2008
    Messages : 151
    Par défaut
    pour des raisons de sécurité le contrôle fileupload est spécial, il n'est pas rétabli aprés le postback

    tu dois récupérer ton fichier à chaque postback, la boucle que tu fais ne sert à rien car tu n'auras qu'un seul fichier à la fois

    tu peux ensuite stocker le fileupload en session (ça fonctionne) pour l'uploader plus tard, ou alors tu peux aussi l'uploader tt de suite

Discussions similaires

  1. Réponses: 6
    Dernier message: 09/10/2008, 19h43
  2. Menu Dynamique, droits utilisateurs et rechargement de page
    Par popovitch130 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 09/11/2007, 21h22
  3. JSP affichage dynamique sans recharger la page
    Par grosecret dans le forum Servlets/JSP
    Réponses: 8
    Dernier message: 02/10/2006, 15h04
  4. [JSP] [STRUTS] [Javascript] Rechargement de page
    Par babylone7 dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 28/07/2004, 13h21
  5. [web] rechargement de page html
    Par GMI3 dans le forum Web
    Réponses: 2
    Dernier message: 22/09/2003, 09h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo