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 :

PlaceHolder disparaît chaque fois


Sujet :

ASP.NET

  1. #1
    Membre confirmé
    Inscrit en
    Mars 2008
    Messages
    152
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 152
    Par défaut PlaceHolder disparaît chaque fois
    Bonjour,

    J'ai un PlaceHolder dans lequel j'ajoute simplement un Menu déroulant.

    Aucun porblème, sauf que lorsque je sélectionne un élément de ce menu, pouf ! Il dsiparaît sans laisser de trace...

    L'AutoPostBack = false;

    Merci

  2. #2
    Membre chevronné
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2004
    Messages
    417
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2004
    Messages : 417
    Par défaut
    Peux tu faire voir ton code du page load et celui du placeholder?

    Ton placeHolder est t'il dynamique?

  3. #3
    Membre confirmé
    Inscrit en
    Mars 2008
    Messages
    152
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 152
    Par défaut
    Le placeholder est créer directement et positionné sur ma page.aspx (mode Design)

    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
    public partial class RegAdmin : System.Web.UI.Page
    {    
       // Je déclare le DropDownList ici car j'en ai besoin dans la procédure 
       // LoadActiveDirectory()
     
        System.Web.UI.WebControls.DropDownList DropContact = new ropDownList();
     
        protected void Page_Load(object sender, EventArgs e)
        {        
            if (!Page.IsPostBack)
            {
                ReadINIParamFile();
            }
        }
    --------------------------------------------
     protected void LoadActiveDirectory()
        {
            try
            {
              DirectoryEntry Ldap = new DirectoryEntry(sLDAP);
              //
              // Get User CN Name
              //
              DirectorySearcher CN_searcher = new DirectorySearcher(Ldap);
              CN_searcher.Filter = "(objectCategory=user)";
              CN_searcher.Sort.PropertyName = ("cn");
              CN_searcher.PageSize = 1000;
              CN_searcher.Sort.Direction = System.DirectoryServices.SortDirection.Ascending;
     
              DropContact.Width = 258;
              DropContact.EnableViewState = false;
              DropContact.AutoPostBack = false;
              DropContact.Items.Add("Select contact...");
              foreach (SearchResult ContactResult in CN_searcher.FindAll())
              {
                  DirectoryEntry DirEntry = ContactResult.GetDirectoryEntry();
                  DropContact.Items.Add(DirEntry.Properties["cn"].Value.ToString());
              }         
              CN_searcher = null;
    ...
    Merci

  4. #4
    Membre chevronné
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2004
    Messages
    417
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2004
    Messages : 417
    Par défaut
    Est tu sur que c'est ton placeholder qui disparait? ca ne serait pas ta DropDown?

    Ta dropDownList est dynamique?

    étant donné que tu fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DropContact.EnableViewState = false;
    verifie bien que tu alimente bien ta DropDown a chaque PostBack.

    tous au long du cycle de vie tes deux controls ont bien Visible = true ?

  5. #5
    Membre confirmé
    Inscrit en
    Mars 2008
    Messages
    152
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 152
    Par défaut
    Oui ma DropList est dynamique, le temps de faire la requête LDAP.
    Effectivement, c'est peut-être le control qui disparaît, comment en être sure!

    Par contre, je ne suis pas certain de bien comprendre la notion d'alimenter le menu déroulant à chaque PostBack ? Est-ce que ça veut dire de mettre AutoPostBack = true ? Si c'est le cas je'ai essayé avec AutoPostBack à true et à false... toujours le même problème.

    Visible = true, je n'ai rien modifié pour les deux controles. Par défaut c'est à true.
    Merci

  6. #6
    Membre chevronné
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2004
    Messages
    417
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2004
    Messages : 417
    Par défaut
    Non le AutoPostBack sert a faire un PostBack dés qu'un événement arrive . Dans ton cas je ne crois pas que ca soit utile.

    Les controle dynamique doivent étre réalimenter à chaque fois car il sont recréé à chaque fois(on peut dire que a chaque PostBack c'est un nouveau control). Le viewstate n'applique pas les valeurs correspondante étant donné que c'est un "nouveau" control.
    Donc si viewstate désactivé et/ou si control dynamique réalimentation du control obligatoire.

    Il est fort possible que ca vienne de la.

    Sinon pour verifié regarde le code génere (Html) en sortie.
    Mais attention Le placeHolder est ce qu'on appel un control neutre (c'est à dire qu'il ne génère pas de code Html donc si il est vide rien sera générer).

    Moi perso je mettrais du texte tt seul avant et après ma DropDown et je regarderais ce qui s'affiche.

  7. #7
    Membre confirmé
    Inscrit en
    Mars 2008
    Messages
    152
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 152
    Par défaut
    OUf ! sacré mystère, je réailse qu''importe les contrôles, ceux qui sont à Postback = true, mon contrôle disparaît et ce n'est pas le cas des autres contrôles à postback = false...

    Je ne sais plus quoi voir et essayé, je vais tenter de continuer avec les différentes pistes proposées.

    Merci et toute autres suggestions seront les bienvenues.

  8. #8
    Membre chevronné
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2004
    Messages
    417
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2004
    Messages : 417
    Par défaut
    euh je crois que tu confond.

    en disant PostBack je pense que tu parle de AutoPostBack. Si tu c'est pas exactement a koi il sert je te conseil de ne pas y toucher pour le moment.

    Sinon la persistance des donnée entre les PostBack est faite par le Viewstate.

    On peut controler si les valeurs d'un control sont mis dnas le viewstate avec la proprieté EnableViewstate , pareil a utilisé avec Mme parcimonie, c'est a dire quand on touche a cela on doit savoir ce que l'on fait, C'est pas tiens je vais le mettre a false pour voir ce que ca donne (enfin on peut faire ca au debut pour apprendre mais vraiment attention.).

    Aprés tu n'a pas l'air d'avoir une grande experience en asp .net (c'est pas un reproche on est tous passer par la), je te conseil pour le moment d'éviter le plus possible les control dynamiques(non declare dans la page).

  9. #9
    Membre confirmé
    Inscrit en
    Mars 2008
    Messages
    152
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 152
    Par défaut
    Tout à fait vrai, je suis vert en ASP .NET avec plein de bonne volonté, et des projets au-delà de mes connaissance... c'est ce que l'on appelle apprendre sur le tas (enfin au Québec) ! Je ne suis pas offusqué de me faire dire que mon expérience est limitée. C'est ma réalité !

    Enfin, je n'ai pas le choix d'utiliser des contrôles dynamiques, Active Directory est toujours mis à jour, je dois donc faire une requête LDAP pour obtenir les dernières informations.

    Je vais finir par trouver une solution.... de toute manière je n'ai pas le choix ..

    Merci et s'il y a d'autres idées, alors je suis preneur.

Discussions similaires

  1. Réponses: 4
    Dernier message: 16/05/2006, 17h27
  2. le makefile refait tout à chaque fois?!
    Par jula dans le forum Systèmes de compilation
    Réponses: 2
    Dernier message: 25/04/2006, 17h08
  3. [Cookies] L'ID de session change à chaque fois ! :-(
    Par seb92500 dans le forum Langage
    Réponses: 3
    Dernier message: 20/04/2006, 12h38
  4. [C#]Authentification qui échoue : a chaque fois "Login inco
    Par The_revival dans le forum ASP.NET
    Réponses: 3
    Dernier message: 15/04/2006, 22h36
  5. ShellExecuteEx ne s'execute pas à chaque fois??
    Par Gothico dans le forum MFC
    Réponses: 11
    Dernier message: 01/03/2005, 22h02

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