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 :

Astuce Repeater div


Sujet :

ASP.NET

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    390
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 390
    Points : 127
    Points
    127
    Par défaut Astuce Repeater div
    Bonjour, voilà j'ai créé un repeater qui "répète" une image. Plus techniquement j'ai un répeater qui répète un user control nommé Image.
    Voici mon problème : Mon répeater marche nikel, mais je voudrai insérer un <div id="blabla"> englobant toutes mes images.

    Au final :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <div id="blabla">
    <asp:Image ID="HyperLinkImageEltRubrique1" runat="server" />(repeat 1)
    <asp:Image ID="HyperLinkImageEltRubrique2" runat="server" />(repeat 2)
    etc...
    </div>
    ou de manière plus "simple", transformer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <div id="blabla">
    <asp:Image ID="HyperLinkImageEltRubrique1" runat="server" />(repeat 1)
    </div>
    <div id="blabla">
    <asp:Image ID="HyperLinkImageEltRubrique2" runat="server" />(repeat 2)
    </div>
    en ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <div id="blabla">
    <asp:Image ID="HyperLinkImageEltRubrique1" runat="server" />(repeat 1)
    <asp:Image ID="HyperLinkImageEltRubrique2" runat="server" />(repeat 2)
    </div>
    Voila
    Le temps est le pire enemi de l'homme

  2. #2
    Expert éminent
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Points : 9 506
    Points
    9 506
    Par défaut
    Salut

    Utilise les éléments HeaderTemplate et FooterTemplate.

    A+
    "Winter is coming" (ma nouvelle page d'accueil)

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    390
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 390
    Points : 127
    Points
    127
    Par défaut
    C'était ma première idée sauf qu'il y en a déjà. Petites explication en plus gros plan de cette partie du site :

    - Footer
    - Repeater (paramètre de navigation)
    - Repeater (images) <--- C'est ce repeater que je veux encadrer d'un seul div
    - Repeater (autres paramètres de navigation)
    - Header

    Je sais pas si cela peut t'aider , il est donc impossible pour moi de mettre le div englobant dans le footer et le header sachant repeater appelera un user control spécifique pour la liste d'images.
    Le temps est le pire enemi de l'homme

  4. #4
    Expert éminent
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Points : 9 506
    Points
    9 506
    Par défaut
    Désolé, je comprend pas comment tu organises ton code. Déjà un footer c'est en bas. Toi tu le mets en haut.

    Du code?

    A+
    "Winter is coming" (ma nouvelle page d'accueil)

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    390
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 390
    Points : 127
    Points
    127
    Par défaut
    Oui désolé j'ai inversé ... Pour parler simple, si je vais chercher 2 images, mon repeater sera appelé 4 fois.
    1 fois pour les paramètres de navigation
    2 fois pour les 2 images
    et 1 autre fois pour l'affichage de liens

    Quand tu me dis de mettre dans les header/footer je ne peux pas car je vais englober tout le repeater en entier, or je veux englober que la partie image.
    Le temps est le pire enemi de l'homme

  6. #6
    Modérateur

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2007
    Messages
    1 996
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 996
    Points : 3 102
    Points
    3 102
    Par défaut
    Bonjour,

    ça paraît quand même étonnant comme manière de procéder...
    Pourquoi utiliser plusieurs Repeater ?

    Tu peux nous montrer un peu de code pour que l'on comprenne ?

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    390
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 390
    Points : 127
    Points
    127
    Par défaut
    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
    protected void RepeaterElement_ItemCreated(object sender, RepeaterItemEventArgs e)
        {
            if (e.Item.ItemType == ListItemType.Header)
            {
                // Instanciation d'un objet pour passer des informations au
                //  HeaderTemplate
                InfoWUCHeader aInfoWUCHeader = new InfoWUCHeader();
                aInfoWUCHeader.Titre = Titre_Sous_Rubrique;
                aInfoWUCHeader.Nb_Total_Pages = Nb_Total_Pages;
                aInfoWUCHeader.Code_Mp_Ss_Rub = Code_Mp_Ss_Rub;
                aInfoWUCHeader.Code_Mp_Elt = Code_Mp_Elt;
                e.Item.DataItem = aInfoWUCHeader;
            }
            else if (e.Item.ItemType == ListItemType.Footer)
            {
                // Instanciation d'un objet pour passer des informations au
                //  FooterTemplate
                InfoWUCFooter aInfoWUCFooter = new InfoWUCFooter();
                aInfoWUCFooter.Nb_Total_Pages = Nb_Total_Pages;
                e.Item.DataItem = aInfoWUCFooter;
            }
        }
    Et si ce n'est pas un type footer/header, il va appelé l'user control Diaporama :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <%@ Control Language="C#" AutoEventWireup="false" CodeFile="WUCDiaporama.ascx.cs" Inherits="WUCDiaporama" %>   
    <div id="diapoSlide">
    <asp:Image ID="HyperLinkImageEltRubrique" alt='<%# Eval("Desc_Lib") %>' runat="server" />
    </div>
    Le temps est le pire enemi de l'homme

  8. #8
    Expert éminent
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Points : 9 506
    Points
    9 506
    Par défaut
    Perso, je ne comprend pas plus...

    C'est quoi "InfoWUCHeader"?
    "Winter is coming" (ma nouvelle page d'accueil)

  9. #9
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    390
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 390
    Points : 127
    Points
    127
    Par défaut
    Alors dernière explication !

    Quand j'ai deux éléments à afficher , mon repeater va s'exécuter 4 fois. Pourquoi 4 ? Parsque on inclut un élément "entete" et un élément "pied de page", en plus des deux éléments. Entre les deux on a notre fameuse "répétition" d'images.
    Le temps est le pire enemi de l'homme

  10. #10
    Modérateur

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2007
    Messages
    1 996
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 996
    Points : 3 102
    Points
    3 102
    Par défaut
    Bonjour,

    désolé mais en fait le code rend les choses encore moins compréhensibles.

    Pourquoi "appeler" un Repeater 4 fois ?
    Pour moi, tu as un HeaderTemplate, un FooterTemplate et un ItemTemplate et tu ajoutes à ces trois templates les contrôles désirés. C'est ensuite le Repeater qui se charge de "répéter" les lignes en fonction de ta source de données.
    Ce n'est pas à toi de "répéter le Repeater".

  11. #11
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    390
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 390
    Points : 127
    Points
    127
    Par défaut
    Tout à fait d'accord ! Les deux conditions que j'ai mise dans "ItemCreated" c'est juste des champs que j'ajoute à mon header/footer. Je crois avoir trouver la solution, comme je l'ai dit précédement je veux juste englober mes "items" mais j'ai créé un template Header et un template Footer. Donc un footer/header identique pour n'importe quel type d'item. Or mon nouveau type d'item nécessite un changement de footer/header, donc je dois en créer deux autres Header/footer différents des templates.

    Désolé du dérangement et de mon approximation au niveau code
    Le temps est le pire enemi de l'homme

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

Discussions similaires

  1. Docs, Tutoriels et astuces Tomcat et JBoss (US)
    Par Ricky81 dans le forum Tomcat et TomEE
    Réponses: 4
    Dernier message: 13/03/2009, 21h00
  2. Réponses: 4
    Dernier message: 28/12/2008, 01h07
  3. Background-repeat et div
    Par Zan dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 07/05/2007, 18h05
  4. Astuces XML/XSLT
    Par haypo dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 25/06/2003, 08h42
  5. Réponses: 2
    Dernier message: 06/03/2003, 16h37

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