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

C# Discussion :

DataBind : le Webform se reinitialise graphiquement mais pas dans le code.


Sujet :

C#

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 26
    Points : 14
    Points
    14
    Par défaut DataBind : le Webform se reinitialise graphiquement mais pas dans le code.
    Bonjour,

    Migrant fraîchement vers l'ASP.net, je viens jusqu'ici pour vous demander de l'aide.

    J'ai un webform ListBox que j'initialise avec les données d'une base SQL :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    String maRequete = "SELECT * FROM TBL_COMPANY_GROUP";
    OdbcCommand maCommande = new OdbcCommand(maRequete, maConnexion);
    monReader = maCommande.ExecuteReader();
    LB_HLabel.DataSource = monReader;
    LB_HLabel.DataTextField = "COMPANY_GROUP_NAME";
    LB_HLabel.DataValueField = "COMPANY_GROUP_GROUP_ID";
    LB_HLabel.DataBind();
    Ma ListBox s'initialise correctement, les données s'affiche bien à l'écran.
    Mais lorsque, dans une fonction, je veux utiliser par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    int truc = LB_HLabel.SelectedIndex;
    ça me renvoie -1, alors qu'un élément a bien été sélectionné.
    je précise que si j'initialise la ListBox en dur, ça me renvoie une bonne valeur.

    Je vous pose donc la question, que dois-je faire?
    le DataBind() doit-il être associé à autre chose?

    Meric d'avance et bonne journée!

  2. #2
    Rédacteur

    Avatar de Jérôme Lambert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2003
    Messages
    4 451
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Belgique

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 4 451
    Points : 14 357
    Points
    14 357
    Par défaut
    Tu exécutes ton premier code dans le load de la page ?
    Jérôme Lambert
    Développeur, Architecte, Rédacteur & Fan technologies Microsoft
    Ma boite informatique | Mon profil LinkedIn

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 26
    Points : 14
    Points
    14
    Par défaut
    Citation Envoyé par Cardi
    Tu exécutes ton premier code dans le load de la page ?
    Oui

  4. #4
    Rédacteur

    Avatar de Jérôme Lambert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2003
    Messages
    4 451
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Belgique

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 4 451
    Points : 14 357
    Points
    14 357
    Par défaut
    Tu dois faire un test pour vérifier que ce n'est pas un routeur serveur. Exemple d'évènements qui provoquent un retour serveur : clique sur un bouton, changement d'item dans listbox, ...

    Dans le cas d'un retour serveur, le load est appelé en premier lieu, c'est pour ça que ton listbox est réinitialisé.

    Pour faire le test en question dans le load :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     if (IsPostBack)
    {
       // ... Retour serveur
    }
    else
    {
       // ce n'est pas un retour serveur, on peut initialiser
    }
    Jérôme Lambert
    Développeur, Architecte, Rédacteur & Fan technologies Microsoft
    Ma boite informatique | Mon profil LinkedIn

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 26
    Points : 14
    Points
    14
    Par défaut
    Ok j'ai compris!

    Merci beaucoup!

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

Discussions similaires

  1. Un regex qui fonctionne sur les testeurs en ligne, mais pas dans mon code
    Par billybobbonnet dans le forum Développement Windows
    Réponses: 4
    Dernier message: 28/01/2015, 17h20
  2. Réponses: 5
    Dernier message: 06/05/2013, 15h18
  3. Applet qui s'execute dans un dossier mais pas dans l'autre
    Par Battosaiii dans le forum Applets
    Réponses: 11
    Dernier message: 10/12/2005, 15h54
  4. CROSSTAB ::marche dans access mais pas dans MS SQL 2000
    Par anselmeJ dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 15/11/2005, 07h56
  5. [PL/SQL] requete qui marche mais pas dans un cursor
    Par victor.ward dans le forum Langage SQL
    Réponses: 3
    Dernier message: 09/09/2005, 22h21

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