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 :

Problème PlaceHolder


Sujet :

ASP.NET

  1. #1
    Membre éclairé
    Inscrit en
    Juin 2007
    Messages
    362
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 362
    Par défaut Problème PlaceHolder
    Bonjour

    J'ai un problème avec mon PlaceHolder. J'ai rajouter "à la main" depuis le code 2 controles : un label et une URL (lien hypertext).

    Jusque la cela fonctionne, j'ai ce code c# :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     HyperLink myURL = new HyperLink();
     
                    myURL.Text = "fichier";
                    myURL.NavigateUrl = strChemin + "88782.tif";
     
                    Label monlabel = new Label();
                    monlabel.Text = "hello world !";
                    PlaceHolder1.Controls.Add(monlabel);
                    PlaceHolder1.Controls.Add(myURL);
    Le but final est d'avoir une boucle qui m'ajoute autant d'URL qu'il faudra.

    Donc si j'ajoute cette boucle :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    for(int i=0;i<5;i++)
    {
    HyperLink myURL2 = new HyperLink();
    myURL2.Text = "fichier";
    PlaceHolder1.Controls.Add(myURL2);
    }
    Plus rien ne s'affiche sur ma page web. Je n'ai plus mon label précédent.
    Pourtant un PlaceHolder est fait pour ajouter dynamiquement des composants non? Donc je ne suis pas sujet à une limite normalement...?

    Aussi, mon PlaceHolder est dans une cellule d'un tableau, via ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    td rowspan="4" class="style2">
                        <asp:PlaceHolder id="PlaceHolder1" runat="server"></asp:PlaceHolder>
                            &nbsp;</td>
    Autre question : Mon label et ma première URL sont collés, comment puis je faire pour avoir mon URL en dessous du LABEL ?

    Merci pour tout !

  2. #2
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2009
    Messages : 6
    Par défaut
    Bonsoir =)

    Je ne vois aucun problème .... Quand je le fais tout se passe bien :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <table>
        <caption>Boucle !</caption>
        <tr>
            <td>
                <asp:PlaceHolder ID="PlaceHolder1" runat="server"></asp:PlaceHolder>
            </td>
        </tr>
    </table>
    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
     
    protected void Page_Load(object sender, EventArgs e)
    {
        for (int i = 0; i < 30; i++)
        {
            Label lb_texte = new Label();
            lb_texte.Text = "Repetition :";
     
            HyperLink myURL2 = new HyperLink();
            myURL2.Text = "fichier";
     
            PlaceHolder1.Controls.Add(lb_texte);
            PlaceHolder1.Controls.Add(myURL2);
        }
    }
    Quand à mettre le Label au dessus de l'url pourquoi ne pas tout simplement les mettre sur deux lignes différentes ?
    (Tu peux faire un tableau asp et ajouter des lignes depuis le code behind ... tu pourras ainsi les positionner comme tu le veux)

    Si jamais tu les veux absolument sur la même ligne, tu peux passer par un <br /> après le label (et à chaque fois que tu voudras revenir à la ligne).
    Pour cela tu pourrais peut être abandonner le Label qui génère des balises span plus inutiles qu'autre chose et passer à un Literal qui lui te permettra d'ajouter exactement ce que tu veux dans la page (si tu lui donne "<div>Bonjour<br />Comment va ?</div>" il rentrera juste ça à l'endroit que tu as demandé). Il permet aussi de protéger le texte que l'on rentre dans la page (et qui viendrait par exemple de la BDD) mais ce n'est pas l'objet de la question.


    J'espère que ça répondra à ta question ou au moins t'aidera =/

  3. #3
    Membre éclairé
    Inscrit en
    Juin 2007
    Messages
    362
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 362
    Par défaut
    merci !

    pour info, j'ai trouvé une cause à mon erreur, j'avais une balise <form></form> dans laquelle se trouvait mon tableau, donc mon PlaceHolder, ce qui provoquait un affichage nul sur ma page web.

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

Discussions similaires

  1. [Batch] Problème de configuration quartz avec un placeHolder Spring
    Par fab76000 dans le forum Spring
    Réponses: 6
    Dernier message: 08/06/2010, 11h45
  2. Problème de placeholder dans un repeater
    Par peak dans le forum ASP.NET
    Réponses: 6
    Dernier message: 17/10/2007, 11h21
  3. Problème de placeholder dans un repeater
    Par peak dans le forum C#
    Réponses: 0
    Dernier message: 17/10/2007, 01h01
  4. Problème d'installation oracle 8.1.7 sous NT
    Par Anonymous dans le forum Installation
    Réponses: 7
    Dernier message: 02/08/2002, 14h18
  5. Problème avec la mémoire virtuelle
    Par Anonymous dans le forum CORBA
    Réponses: 13
    Dernier message: 16/04/2002, 16h10

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