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 :

[C# 1.1] Mémoriser un objet Table dans une session


Sujet :

ASP.NET

  1. #1
    Candidat au Club
    Inscrit en
    Janvier 2004
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 8
    Points : 4
    Points
    4
    Par défaut [C# 1.1] Mémoriser un objet Table dans une session
    Bonjour à tous,
    ça fait des heures que je galère sur un truc apparemment simple, mais là je sèche, alors si quelqu'un pouvait m'aider ça serait vraiment extra !

    J'ai un objet System.Web.UI.WebControls.Table qui est créé à l'ouverture de ma page, cette table n'a qu'une seule ligne au départ, son entête, ensuite c'est l'utilisateur qui insérera les lignes au fur et à mesure...

    Je dois donc mémoriser mon objet Table dans une variable de Session, sinon il ne sera pas garder en mémoire, à chaque renvoi au serveur il disparaitra.

    Voici donc ce que j'ai fait :
    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
     
    protected System.Web.UI.WebControls.Table TableRecap = new Table();
     
    private void Page_Load(object sender, System.EventArgs e)
    {
      if (!Page.IsPostBack)
      {
         Session["TableRecap"] = null;
      }
     
      if (Session["TableRecap"] == null)
      {
        Session["TableRecap"] = this.TableRecap;
      }
      else
      {
        this.TableRecap = (Table)Session["TableRecap"];
      }
    }
     
    Private void AjouterLigne()
    {
      TableRow ligne = new TableRow();
      TableCell col1 = new TableCell();
      col1.Controls.Add(new LiteralControl(codeArticle));
      TableCell col2 = new TableCell();
      col2.Controls.Add(new LiteralControl(quantite.ToString()));
     
      ligne.Cells.Add(col1);
      ligne.Cells.Add(col2);
      this.TableRecap.Rows.Add(ligne);
     
      this.TableRecap.Visible = true;
    }
    Maintenant j'ai vérifié, mes lignes sont bien ajoutées, mais le tableau ne s'affiche pas...
    ça me paraissait plutot simple, mais là je ne comprends plus rien...

    Merci de votre aide.

  2. #2
    Membre actif Avatar de gwadakillah
    Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    235
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2005
    Messages : 235
    Points : 239
    Points
    239
    Par défaut
    c'est pas très clair pour moi , tu peux mettre plus de détails...?

  3. #3
    Candidat au Club
    Inscrit en
    Janvier 2004
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    Et bien je ne sais pas trop comment expliquer ce problème...
    En fait, je souhaite que l'utilisateur puisse insérer des lignes dans un objet Table à l'aide d'un bouton. Je ne voulais pas utiliser un Datagrid, car je n'en avais pas l'utilité, une simple table suffit lorsqu'il suffit d'afficher 5 à 6 ligne dans un tableau.

    Par contre j'ai plein d'autres ojbets dans ma page, et à chaque fois que j'utilise un de ces objets, comme une dropdowlist ou un calendar, mon tableau disparait de la page...
    J'ai donc mémorisé cette Table dans un objet Session, pour qu'elle soit toujours en mémoire malgré les divers aller et retour au serveur. Malheureusement ça ne fonctionne toujours pas, ma Table reste invisible à l'écran...

    J'espère que j'aurais été plus clair...
    Merci en tout cas de ton aide.

  4. #4
    Membre actif Avatar de gwadakillah
    Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    235
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2005
    Messages : 235
    Points : 239
    Points
    239
    Par défaut
    ta table est bien stockée dans variable de session?

  5. #5
    Candidat au Club
    Inscrit en
    Janvier 2004
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    Ma table est bien stockée dans une variable de session.

    Je n'ai plus le temps de chercher, j'ai donc utilisé un datagrid avec une dataview et ça fonctionne... Mais c'est dommage d'utiliser un objet comme ça juste pour afficher 5,6 lignes...!

    @++

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

Discussions similaires

  1. [AC-2007] Changer le lien d'un objet OLE dans une table
    Par r.louis dans le forum IHM
    Réponses: 2
    Dernier message: 02/02/2010, 11h26
  2. [VxiR2] probleme d'objet définit dans une table alliassée
    Par tatayoyo dans le forum Designer
    Réponses: 5
    Dernier message: 17/02/2009, 18h01
  3. objet mysql dans une SESSION
    Par eponyme dans le forum Langage
    Réponses: 2
    Dernier message: 22/10/2007, 13h46
  4. Stockage d'OBJET OLE dans une Table Paradox ou Firebird ?
    Par QAYS dans le forum Bases de données
    Réponses: 2
    Dernier message: 06/04/2007, 13h59
  5. Réponses: 2
    Dernier message: 08/03/2007, 11h50

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