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 :

[ASP.net][VB.NET] probleme arrayList


Sujet :

ASP.NET

  1. #1
    Membre averti
    Inscrit en
    Février 2009
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 49
    Par défaut [ASP.net][VB.NET] probleme arrayList
    Bonjour,

    J'ai un arrayList dans lequel je dois stocker des fichiers... à chaque fois que je télécharge un fichier de mon disque à l'aide d'un FileUpload, je clique sur un bouton pour stocker ce fichier dans mon arrayList... le problèeme c'est que à chaque fois que je clique sur ce bouton, l'arrayList est réinitialisé... et ne contient que le dernier fichier téléchargé.

    J'ai tout essayé, j'ai fait de mon arrayliste une variable globale, une variable de session... ca n'a rien changé.

    SVP si vous avez des idées pour regler ce problème, aidez-moi
    Merci

  2. #2
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Billets dans le blog
    3
    Par défaut
    Bonjour,

    Est-ce que tu peux nous montrer ton code behind ?
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  3. #3
    Membre averti
    Inscrit en
    Février 2009
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 49
    Par défaut
    Citation Envoyé par Matt07 Voir le message
    Bonjour,

    Est-ce que tu peux nous montrer ton code behind ?
    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
    Partial Public Class X Inherits System.Web.UI.Page
     
        Dim docs As New ArrayList
        Const ID_DOCS As String = "idDocs"
     
        Protected Sub bAjouter_Click(ByVal sender As Object, ByVal e As EventArgs) Handles bAjouter.Click
     
            Session(ID_DOCS) = docs
     
            If FileUpload1.HasFile Then
     
                Dim nouveauDoc As Document = New Document(FileUpload1.FileName, FileUpload1.FileBytes)
                Session(ID_DOCS).Add(nouveauDoc)
                MsgBox("nbre d'éléments: " & Session(ID_DOCS).Count.ToString, vbOKOnly)
     
            End If

  4. #4
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Billets dans le blog
    3
    Par défaut
    Essaye de peupler un ArrayList temporaire avec l'ArrayList contenu dans ta session. Ensuite ajoute ton fichier dans l'ArrayList temporaire, puis insère-le dans ta session.

    Ca donnerait ceci :

    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
     
        Dim docs As New ArrayList
        Const ID_DOCS As String = "idDocs"
     
        Protected Sub bAjouter_Click(ByVal sender As Object, ByVal e As EventArgs) Handles bAjouter.Click
     
        Dim tmpArray As New ArrayList
        If (Not Session(ID_DOCS) Is Nothing) Then
            tmpArray = CType(Session(ID_DOCS), ArrayList)
        End If
     
            If FileUpload1.HasFile Then
     
                Dim nouveauDoc As Document = New Document(FileUpload1.FileName, FileUpload1.FileBytes)
                tmpArray.Add(nouveauDoc)
                MsgBox("nbre d'éléments: " & tmpArray.Count.ToString(), vbOKOnly)
     
                Session(ID_DOCS) = Nothing
                Session(ID_DOCS) = tmpArray
     
            End If
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  5. #5
    Membre averti
    Inscrit en
    Février 2009
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 49
    Par défaut
    Merci beaucoup !! ca a marché
    Comment t'as eu cette idée stp ? (histoire de m'apprendre à pêcher après m'avoir offert ce poisson :p)

  6. #6
    Membre Expert
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    1 277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Réunion

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 277
    Par défaut
    Un peu de logique,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim docs As New ArrayList
    initialise, à chaque affichage de la page (avec ou sans PostBack), une nouvelle ArrayList, vide, puis le code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Session(ID_DOCS) = docs
    affectait cet ArrayList à l'objet Session.

    Le code fourni par Matt07 récupère la valeur contenue dans la variable de Session contrairement à ton code. Par contre, dans ce cas, la variable globale docs ne sert à rien, comme le fait de passer Session(ID_DOCS) à Nothing avant d'y "remettre" la ArrayList.

    Juste pour finir, utiliser MsgBox pour débuguer une application, de surcroît web, c'est franchement pas la meilleure technique. Visual Studio dispose de points d'arrêts, d'un explorateur de valeurs de variables locales, de la possibilité d'écrire dans la console Debug et j'en passe.

  7. #7
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Billets dans le blog
    3
    Par défaut
    Citation Envoyé par Tunisiano87 Voir le message
    Comment t'as eu cette idée stp ?
    Rien de très sorcier j'ai juste lu ton code et vu que tu réinitialisais à chaque fois un ArrayList, donc il n'était pas possible d'y conserver les données. La méthode que je t'ai donné est plus un exemple qu'un code à prendre au pied de la lettre et à intégrer dans ton application tel qu el, car comme l'a fait remarquer Kaidan, la variable globale docs ne sert plus à rien. Et j'ai fait ça rapidement avant de partir du bureau Vendredi dernier

    Citation Envoyé par Kaidan Voir le message
    Le code fourni par Matt07 récupère la valeur contenue dans la variable de Session contrairement à ton code. Par contre, dans ce cas, la variable globale docs ne sert à rien, comme le fait de passer Session(ID_DOCS) à Nothing avant d'y "remettre" la ArrayList.
    Effectivement mon bout de code ne doit pas être parfait, car j'ai fait ça rapidement avant de partir du boulot
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Probleme Afficher Image en Asp.net/vb.net
    Par jakline2010 dans le forum C#
    Réponses: 4
    Dernier message: 28/08/2012, 17h36
  2. Probleme de AutoComplete asp.net/vb.net
    Par jakline2010 dans le forum ASP.NET
    Réponses: 2
    Dernier message: 25/07/2012, 17h06
  3. [Asp.net/Vb.net] Probleme GDI / redimmensionner img
    Par NameX dans le forum ASP.NET
    Réponses: 0
    Dernier message: 01/12/2009, 16h17
  4. Quel langage entre vb.net c#.net c++.net java ?
    Par heeedi dans le forum Débuter
    Réponses: 7
    Dernier message: 13/12/2008, 21h53
  5. [ASP.NET 2.0] Probleme ouverture d'un fichier
    Par notoriousfab dans le forum ASP.NET
    Réponses: 6
    Dernier message: 22/10/2007, 10h52

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