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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  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.

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