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 accéder aux contrôles dans un header template ?


Sujet :

ASP.NET

  1. #1
    Membre régulier Avatar de igorzup
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    307
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 307
    Points : 107
    Points
    107
    Par défaut Comment accéder aux contrôles dans un header template ?
    Bonjour,

    je cherche a mettre une dropdownlist dans mon header et lors d'un changement d'etat mettre a jour la datalist.

    seulement je ne voie pas le moyen de recuperer mon objet en code behind.
    findcontrol ne s'applique que qur les itemstemplate ... pas sur le headertemplate...

    plize ailp!
    Rien ne sert de courir, il faut se donner la main.

  2. #2
    Membre expérimenté
    Avatar de Mehdi Feki
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    1 113
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 113
    Points : 1 566
    Points
    1 566
    Par défaut
    Finding Controls In Headers and Footers

    C'est en anglais, mais regarde juste le code
    Mehdi Feki : Modérateur .Net

  3. #3
    Membre régulier Avatar de igorzup
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    307
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 307
    Points : 107
    Points
    107
    Par défaut
    sympa l'article, ca recence une bonne partie des acces aux controles...
    bref, le genre de ceux qui m'aurais fait gagner du temps y a quelques années.

    j'ai essayé d'adapter la methode du datagrid a ma datalist, mais il semble que les deux ne soient pas géré de la meme maniere...

    la methode de findcontrol en passant par controls[0].controls ne marche aps sur ma datalist en tout cas (j'avoue ne pas avoir testé sur un datagrid avant)

    est ce que d'autre ont reussi a recuperer leur controle ou est ce que d'autres le souhaitent encore?
    Rien ne sert de courir, il faut se donner la main.

  4. #4
    Membre expérimenté
    Avatar de Mehdi Feki
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    1 113
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 113
    Points : 1 566
    Points
    1 566
    Par défaut
    J'ai fait un petit test afin de voir où se situe ma ddl dans le header, avec un morceau de code de trace (En C# Désolé):

    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
     protected void Button1_Click(object sender, EventArgs e)
        {
            AfficherTrace(DataList1, string.Empty);
        }
    
    private void AfficherTrace(Control ctrl,string index)
        {
            int i =0;
            foreach (Control ControlCourant in ctrl.Controls)
            {
                string ControlIndex = index + " " + i;
                TraceTextBox.Text += ControlCourant.ToString() + " " + ControlIndex + "\n";
                AfficherTrace(ControlCourant, ControlIndex);
                i++;
            }
        }
    Et voila ce que j'ai obtenu :

    System.Web.UI.WebControls.DataListItem 0
    System.Web.UI.LiteralControl 0 0
    System.Web.UI.WebControls.DropDownList 0 1
    System.Web.UI.LiteralControl 0 2
    System.Web.UI.WebControls.DataListItem 1
    System.Web.UI.LiteralControl 1 0
    System.Web.UI.WebControls.TextBox 1 1
    System.Web.UI.LiteralControl 1 2
    System.Web.UI.WebControls.DataListItem 2
    System.Web.UI.LiteralControl 2 0
    System.Web.UI.WebControls.TextBox 2 1
    System.Web.UI.LiteralControl 2 2
    System.Web.UI.WebControls.DataListItem 3
    System.Web.UI.LiteralControl 3 0
    System.Web.UI.WebControls.TextBox 3 1
    System.Web.UI.LiteralControl 3 2
    Donc j'ai pu acceder à ma ddl avec les index 0 ensuite 1 comme indiqué dans le resultat :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     DropDownList ddl=(DropDownList)DataList1.Controls[0].Controls[1];
    Normalement tu dois pourvoir acceder à ta ddl avec les meme indexes, si ca ne marche pas execute le code de trace sur ta datalist et tu va pouvoir recuperer les indexes
    Mehdi Feki : Modérateur .Net

  5. #5
    Membre régulier Avatar de igorzup
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    307
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 307
    Points : 107
    Points
    107
    Par défaut
    yes! tres bien ce petit test!

    oui, j'ai du faire une erreur de syntaxe... je vois que ca!
    j'ai fait un panel a la place du header depuis, mais j'aurais d'autres occasion de l'utiliser.

    grand merci en tout cas.
    Rien ne sert de courir, il faut se donner la main.

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

Discussions similaires

  1. Réponses: 9
    Dernier message: 04/01/2012, 09h54
  2. Gérer l'acces direct aux tables suivant les utilisateurs
    Par kristof33 dans le forum Sécurité
    Réponses: 2
    Dernier message: 02/03/2007, 08h11
  3. Accès aux tables par les users
    Par BRUN NICOLAS dans le forum Sécurité
    Réponses: 2
    Dernier message: 13/02/2007, 10h58
  4. [Myphpnews] Comment lutter contre le spam dans les commentaires ?
    Par fireworks dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 30
    Dernier message: 25/10/2006, 14h07
  5. Réponses: 5
    Dernier message: 29/03/2006, 12h36

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