begin process at 2012 05 27 14:26:48
  Trouver un code source :
 
dans
 
Accueil > Forum > 

ASP.NET

 > 

WebForms

 > 

UserControl

 > 

Accéder à un UserControl dans le Header d'un Repeater


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Accéder à un UserControl dans le Header d'un Repeater

jeudi 20 mars 2008 à 12:30:48 | Accéder à un UserControl dans le Header d'un Repeater

wlad952

Tout d'abord, bonjour !

Je travail sur un site web en ASP.NET 2.0 C#.

J'ai un usercontrol qui se trouve dans le header d'un repeater.

J'aimerais savoir, comment je récupère mon usercontrol du header pour y charger des valeurs ?

(Sachant que mon usercontrol est une Datalist toute simple)

Merci par avance.
jeudi 20 mars 2008 à 19:34:48 | Re : Accéder à un UserControl dans le Header d'un Repeater

nhervagault

Administrateur CodeS-SourceS
Salut

Voici un exemple de recuperation a adapter pour ton cas

Bon courage, j'ai pas fais de vrai databinding pour l'itemtemplate

===============================================

Dans la page aspx

         <asp:Repeater ID="Repeater1" runat="server"
             onitemdatabound="Repeater1_ItemDataBound">
    <HeaderTemplate>
         <asp:Label ID="Label1" runat="server" Text="Text"></asp:Label>

    </HeaderTemplate>
    <ItemTemplate>
       
    </ItemTemplate>
    </asp:Repeater>
=====================================================
Dans apx.cs

protected void Page_Load(object sender, EventArgs e)
    {

        List<String> t = new List<string>();
        t.Add("toto");
        t.Add("titi");
        t.Add("tata");
        Repeater1.DataSource = t;
        Repeater1.DataBind();

   
    }


    protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
    {
        if (e.Item.ItemType == ListItemType.Header)
        {
            Label l = e.Item.FindControl("Label1") as Label;
            l.Text = "modifié";
        }
    }

vendredi 21 mars 2008 à 09:19:45 | Re : Accéder à un UserControl dans le Header d'un Repeater

wlad952

Merci pour le coup de main je vais essayer comme çà.

Je posterais le résultat d'ici ce midi.


vendredi 21 mars 2008 à 14:24:58 | Re : Accéder à un UserControl dans le Header d'un Repeater

wlad952

Bon j'arrive à accéder à mon usercontrol dans mon header dans l'évènement OnDataBound.

Ne serait-il pas possible d'y accédér dans un évènement "normal" (simple clique d'une ddl) ?
vendredi 21 mars 2008 à 15:32:03 | Re : Accéder à un UserControl dans le Header d'un Repeater

nhervagault

Administrateur CodeS-SourceS
Réponse acceptée !
Voici la réponse, elle est bien sûr à factoriser (c'est un exemple de test la suite du début du post) et tu peux faire une boucle si tu n'es pas sur que le header est à la position 0
de plus il faut faire un test de nullité si le Label1 de repeater est null

Label1 est dans le repeater en header
et
Label2 est dans la page comme button1

 protected void Button1_Click(object sender, EventArgs e)
{
       if ((Repeater1.Controls[0] as RepeaterItem).ItemType == ListItemType.Header)
        {
             Label2.Text = ((Repeater1.Controls[0] as RepeaterItem).FindControl("Label1") as Label).Text;
     }
}


Apres à toi d'adapter avec tes composants.


vendredi 21 mars 2008 à 16:56:19 | Re : Accéder à un UserControl dans le Header d'un Repeater

wlad952

En debug, quand je regarde les "controls" de mon repeater, au niveau 0 c'est bien mon header donc

j'ai adapté à mon contexte :

id = ((UserControls_actifs_bdvi_header_loge)(rptLoge.Controls[0] as RepeaterItem).FindControl("ucHeader")).IdProg.ToString();

La variable id vaut "" donc en clair j'ai l'impression que je n'arrive pas à récupérer mon User control...

Une idée ?

Merci d'avance


vendredi 21 mars 2008 à 18:10:40 | Re : Accéder à un UserControl dans le Header d'un Repeater

wlad952

Problème résolu merci beaucoup. La solution à mon problème  :

MonUserControl header
header = (MonUserControl )(MonRepeater.Controls[0] as RepeaterItem).FindControl("ucHeader");

Voilà après on peut manipuler à souhait la variable header qui correspond à votre UserControl.

Ps : dans mon exemple, le userControl est "personnalisé" : ce n'est pas un textbox, label etc...
vendredi 21 mars 2008 à 18:23:50 | Re : Accéder à un UserControl dans le Header d'un Repeater

nhervagault

Administrateur CodeS-SourceS
Si tu veux
id = ((UserControls_actifs_bdvi_header_loge)(rptLoge.Controls[0] as RepeaterItem).FindControl("ucHeader") as MonUserControl ).IdProg.ToString();

Il manquait le cast ;-)

Les user controls c'est un peu comme un control c'est pour accéler mes dev qu j'ai mis un label

That's all, l'essentiel c'est de comprendre le principe ;-)



Cette discussion est classée dans : accéder, usercontrol, header, repeater


Répondre à ce message

Sujets en rapport avec ce message

Comment accéder à un UserControl à partir d'un Repeater [ par deeloc_015 ] Bonjour à tous,voilà en fait, je souhaiterai savoir comment faire pour accéder aux propriétés de mon UserControl que j'ai placé dans le ItemTemplate d Accès à un userControl depuis Repeater [ par YannVB ] Bonjour,je souhaite accéder à un UserControl contenu dans l'itemTemplate d'un Repeater de ma webform, de manière à alimenter dynamiquement les proprié Repeater et UserControl [ par marhoa ] Je cherche à afficher des données dans un repeater mais je veux en plus pouvoir modifier ce que je vais afficher en fonction de certaines données que c# repeater table checkbox [ par ghano81 ] bonjour j'ai creer une table dynamiquement qui contient des données(de la base de donnes) jé rajoutter une colonne qui contient des checkbox le nombre probleme de linkButton dans un repeater [ par elmotardo ] bonjour,sur une page aspx j'ai un repeater ou j'affiche des liens comme ceci :                        <td co Les events de mon UserControl ne marche pas [ par obitskater ] Bonjour à tous, Voilà je vous expose mon problème: J'ai ma page principale dans laquelle lors d'un clique sur un LinkButton, j'ouvre une ModalPopup da Problème avec l'affichage d'un repeater dans IE [ par plateau ] Bounjourj'ai un repeater il marche à merveille avec Firefox (affichant les résultats ) mais avec IE il m'affiche mes résultats en colonnes         <It Problème avec l'affichage d'un repeater dans IE [ par plateau ] Bounjourj'ai un repeater il marche à merveille avec Firefox (affichant les résultats en ligne) mais avec IE il m'affiche mes résultats en colonnes <as redimentionner un repeater dynamiquement dans un panel [ par ghano81 ] bonjour j'ai un ptit soucis concerant le repeater ,jé creer un reapeter qui se charge a partir de données de la base  ,dés que ces données deviennent Comment éviter qu'un Usercontrol se load [ par BrokenArrow29 ] Bonjour,Sur une page je fais apparaitre les stats d'un joueur selon s'il est gardien ou attaquant. La facon dont je procède est que je creer sur la pa


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,827 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales