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 :

comment faire pour qu'un objet garde les valeurs de ses champs lors d'un postback


Sujet :

ASP.NET

  1. #1
    zzozo32456
    Invité(e)
    Par défaut comment faire pour qu'un objet garde les valeurs de ses champs lors d'un postback
    bonjour,
    voila je debute dans le monde merveilleux de la poo et j'ai quelques petits soucis.
    Je me suis fait une classe commande avec quelques champs comme par exemple un numcommande et quelques autres.
    Dans une webform j'instancie mon objet vide.
    Lors d'un evenement sur la page comme par exemple le changement d'index sur un gridview je modifie le num commande. Le probleme c'est quand je veux retravailler sur cet objet dans un autre evenement: exemple le click d'un bouton. J'ai donc besoin de mon numcommande que j'ai attribué plus haut. seulement mon objet n'a pas garder ses valeurs. Comment je pourrais m'y prendre? C'est comme si au rechargement de la page l'objet était reinitialisé.

  2. #2
    Rédacteur

    Avatar de Jean-Michel Ormes
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2007
    Messages
    1 838
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Services à domicile

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 838
    Points : 4 574
    Points
    4 574
    Par défaut
    Bonjour,

    Il faut tester si tu es dans le cas d'un PostBack ou non dans ton Page_Load

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     
    protected void Page_Load(object sender, EventArgs e)
    {
       if (!IsPostBack)
       {
             // Remplir les objets ici
       }

  3. #3
    zzozo32456
    Invité(e)
    Par défaut
    bonjour jean michel,
    dans mon cas je ne pense pas que ce soit possible, en fait je récupère un numcommande lors de l'événement sur le gridview avec la propriété selectedatakey.
    Ducoup je ne peut pas vraiment l'initialiser dans le load.
    Apres c'est lors du click sur un bouton pour valider que j'aurais besoin de retravailler sur ces valeurs.

  4. #4
    zzozo32456
    Invité(e)
    Par défaut
    j'ai essayer par contre d'instancier l'objet dans le load au niveau du not ispostback. mais j'ai un probleme au niveau de la portée de l'objet dans ce cas je n'arrive plus du tout a y accéder depuis de mes événements sur la page.

  5. #5
    Rédacteur

    Avatar de Jean-Michel Ormes
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2007
    Messages
    1 838
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Services à domicile

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 838
    Points : 4 574
    Points
    4 574
    Par défaut
    Dans ce cas, tu peux envisager de parcourir les lignes du GridView pour récupérer la ligne sélectionnée et donc le numcommande lors du Click sur le Button.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     
    foreach (GridViewRow row in tonGridView.Rows)
    {
         if (row == tonGridView.SelectedRow)
         {
              string value = tonGridView.DataKeys[gvr.RowIndex].Value.ToString();
         }
    }
    Cela implique que ton GridView ait pour DataKeyNames ton numcommande côté aspx.

  6. #6
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2008
    Messages
    233
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2008
    Messages : 233
    Points : 336
    Points
    336
    Par défaut
    Tu as essayé de mettre ton objet dans l'objet session ?

  7. #7
    zzozo32456
    Invité(e)
    Par défaut
    tres bon idée, le coup de la session^^
    je pense que je vais faire ca.
    Parcontre donc c'est bien ca l'objet perd les valeurs qui lui ont été attribuées lors d'un postback?

  8. #8
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2008
    Messages
    233
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2008
    Messages : 233
    Points : 336
    Points
    336
    Par défaut
    D'après ce que je comprends du PostBack : Oui ^^
    Car les objets de la page n'ont qu'une portée correspondant à la page en cours, et le PostBack te génère une "nouvelle" page (même si en ASP on peut garder certaines infos en venant d'un PostBack).

    (Reprenez-moi si je me trompe hein ^^ Parce que le PostBack n'est pas un truc que je maîtrise et j'essaye de m'améliorer à ce sujet)

  9. #9
    zzozo32456
    Invité(e)
    Par défaut
    je suis pas un expert du postback non plus lol, mais ton raisonnement à l'air correct^^
    je vais me débrouiller avec les variable de session.
    Merci du coup de main a tout les 2.
    bonn aprem

  10. #10
    Membre habitué
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2002
    Messages
    274
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2002
    Messages : 274
    Points : 192
    Points
    192
    Par défaut
    Si tu restes sur la même page, il vaut peut-être mieux utiliser le viewState.

  11. #11
    zzozo32456
    Invité(e)
    Par défaut
    je reste sur la meme page +1 pour le viewstate merci^^

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

Discussions similaires

  1. Réponses: 12
    Dernier message: 14/04/2009, 20h10
  2. [E-03] Comment faire pour qu'un objet s'enfuie quand la souris approche
    Par moilou2 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 25/03/2009, 16h52
  3. Réponses: 11
    Dernier message: 29/09/2008, 10h57
  4. Réponses: 2
    Dernier message: 04/03/2008, 11h32
  5. [MySQL] Comment faire pour avoir un lien sur les pages suivantes/précédentes
    Par Meewix dans le forum PHP & Base de données
    Réponses: 13
    Dernier message: 21/10/2006, 09h32

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