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 :

Un LinkButton dans un label


Sujet :

ASP.NET

  1. #1
    Membre très actif
    Profil pro
    Inscrit en
    Août 2008
    Messages
    265
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 265
    Par défaut Un LinkButton dans un label
    Bonjour,


    Je debute aussi il est possible que ce que je vais vous presenter soit completement idiot.

    J'ai un label :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <asp:Label ID="lblCampaignInfo" runat="server" Text=""></asp:Label>
    Ce texte je le remplis behind et j'y insere notamment ceci plusieurs fois :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <asp:LinkButton onclick=\"deleteEntry\" runat=\"server\">Delete</asp:LinkButton>

    Seulement la fonction onclick du bouton ne marche pas. Je suppose que mon code est faux, mais dans ce cas comment puis-je remplir dynamiquement mon lqbel de boutons pointant sur une fonction behind ?

  2. #2
    Membre Expert Avatar de bossun
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    1 359
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 359
    Par défaut
    Citation Envoyé par Larger Voir le message
    Bonjour,
    comment puis-je remplir dynamiquement mon lqbel de boutons pointant sur une fonction behind ?
    C'est vraiment pas clair...

    Tu veux faire quoi exactement??

    Attention à ne pas confondre OnClick server et onclick client

    http://msdn.microsoft.com/en-us/libr...ck(VS.80).aspx

  3. #3
    Membre très actif
    Profil pro
    Inscrit en
    Août 2008
    Messages
    265
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 265
    Par défaut
    Hum, je vais tenter de reexpliquer.

    J'ai un texte que je remplis dans mon .cs a partir d'une BD. Ca c'est mon label.

    Or dans ce texte j'ai des boutons a inserer et ces derniers sont senses appeler une fonction de mon cs.

    Aussi j'ai dans mon .apsx :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <asp:Label ID="lblCampaignInfo" runat="server" Text=""></asp:Label>

    Et dans mon .cs :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    lblCampaignInfo.Text +="<asp:LinkButton onclick=\"deleteEntry\" runat=\"server\">Delete</asp:LinkButton>"
    qui se repete un certain nombre de fois.


    Ca parait joli comme ca mais le fait est que le bouton n'est pas cree, j'ai seulement du texte

  4. #4
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Par défaut
    Bah un label c'est faut pour générer du texte. Il porte bien son nom quand même.
    Regardes du côté du Literal pour générer tes boutons comme tu le fais actuellement

  5. #5
    Membre chevronné
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    581
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2004
    Messages : 581
    Par défaut
    C'est pour créer de manière dynamique tes contrôles ?
    Tu ne peux pas lui renvoyer du html ?
    <input type="button" ...../>
    Le label interpretera alors le code html et tu verras ton bouton.


    Fix

  6. #6
    Membre expérimenté Avatar de AJemni
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2008
    Messages
    242
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2008
    Messages : 242
    Par défaut
    je ne voix pas bien vos besoin mais cet idee peut vous être utile :
    à la place de label creer un div vide :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <div runat="server" id="div1"></div>
    et dans le .cs ajoute ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    this.div1.InnerHtml = "<asp:LinkButton onclick=\"deleteEntry\" runat=\"server\">Delete</asp:LinkButton>";
    j'espere que ça vous aide

  7. #7
    Membre très actif
    Profil pro
    Inscrit en
    Août 2008
    Messages
    265
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 265
    Par défaut
    Merci pour toutes vos reponses. J'ai essaye les trois et je n'ai reussi a n'en faire marcher qu'une : celle de fix105.

    Reste qu'avec mes competences en c# c'est pas fini.


    En fait me reste un autre souci

    Comment je fais pointer mon bouton vers la fonction de mon fichier .cs ?

  8. #8
    Membre éprouvé
    Avatar de topolino
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    1 901
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 901
    Par défaut
    Si tu veux placer dynamiquement des controls, utilises plutot les placeholder.

    Un label ne sert qu'a afficher du texte, ce n'est pas un conteneur !!!

  9. #9
    Membre expérimenté Avatar de AJemni
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2008
    Messages
    242
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2008
    Messages : 242
    Par défaut
    Je vais vous donner une solution qui, sûrement, n’est pas la meilleur mais elle résou, à priori, votre PB :
    - Ajoute un contrôle « LinkButton » à votre page.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <asp:LinkButton ID="Link" runat="server" OnClick="Link_Click" CssClass="Hidden">LinkButton</asp:LinkButton>
    - Dans la balise head ajoute ce class :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <style type="text/css">
        .Hidden
        {
            display:none;
        }
    </style>
    dans le code Behind ajoute :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    lblCampaignInfo.Text += "<a id=\"Link\" href=\"javascript:__doPostBack('Link','')\">Delete</a>";
    et le code de l'evennement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    protected void Link_Click(object sender, EventArgs e)
        {
            Response.Write("YES");
        }
    cette solution marche bien, elle peut vous etre util mais elle n'est pas bonne car selon les proprietes de votre LinkButton le paramètre de la fonction :__doPostBack changent.
    j'espere que j'ai pas complique les choses.

  10. #10
    Membre très actif
    Profil pro
    Inscrit en
    Août 2008
    Messages
    265
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 265
    Par défaut
    Effectivement ca doit marcher, mais je n'ai pas precise que j'avais du texte en plus du bouton. Je ne peux donc pas ajouter un bouton directement. J'aurais du le preciser avant.

    Hum je vais regarder comment mettre en place le placeholder.

  11. #11
    Membre expérimenté Avatar de AJemni
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2008
    Messages
    242
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2008
    Messages : 242
    Par défaut
    Ça devient intéressant, informe nous de ton avancement avec le placeholder.

  12. #12
    Membre très actif
    Profil pro
    Inscrit en
    Août 2008
    Messages
    265
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 265
    Par défaut
    Formidable, ca commence a ressembler a ce que je voulais !

    dans mon code aspx j'ai simplement remplace mon label :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <asp:PlaceHolder ID="lblCampaignInfo" runat="server"></asp:PlaceHolder>

    et apres j'ai modifie mon code behind. Par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
                            Label label = new Label();
                            label.Text += "blablabla";
                            lblCampaignInfo.Controls.Add(label);
     
                            LinkButton button = new LinkButton();
                            button.Text = "delete";
                            button.Click += new System.EventHandler(deleteEntry);
                            lblCampaignInfo.Controls.Add(button);

    Mais quand je clique sur le bouton hum rien ne se passe. J'ai trouve un truc dans la faq qui en parle
    ATTENTION :Lors du postback éffectué aprés l'évènement, le bouton doit impérativement être rechargé dans la page pour que l'évènement soit traité. Quitte à mettre sa propriétée visible à false si vous ne voulez pas qu'il soit visible.
    http://dotnet.developpez.com/faq/asp...Controls_forms


    Cependant je ne comprends pas comment recharger le bouton vu que justement il est cree dynamiquement. Ou alors y a un truc aue je n'ai pas compris.

  13. #13
    Membre Expert Avatar de Arthis
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 265
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : Italie

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 265
    Par défaut
    regarde cette discussion tu y trouveras surement quelques réponses :
    http://www.developpez.net/forums/d68...mplementation/

  14. #14
    Membre très actif
    Profil pro
    Inscrit en
    Août 2008
    Messages
    265
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 265
    Par défaut
    Merci, je venais de la trouver et je pense que c'est effectivement mon probleme.

  15. #15
    Membre très actif
    Profil pro
    Inscrit en
    Août 2008
    Messages
    265
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 265
    Par défaut
    J'avoue que la je n'y comprend pas grand chose.

    Que suis-je sense mettre dans le Page_Init ? Dois-je recree mes boutons ?

Discussions similaires

  1. Réponses: 1
    Dernier message: 20/06/2014, 11h57
  2. Modifier la taille, la couleur ... dans un label
    Par Guigui_ dans le forum GTK+ avec Python
    Réponses: 3
    Dernier message: 15/07/2004, 17h09
  3. [C#] Affichage resultat de requete dans 2 Labels
    Par kenzo080 dans le forum ASP.NET
    Réponses: 8
    Dernier message: 02/06/2004, 20h07
  4. Faire defiler Texte dans un label
    Par Techsan dans le forum Composants VCL
    Réponses: 5
    Dernier message: 08/06/2003, 23h29
  5. scroll dans un label
    Par Pretender dans le forum Composants VCL
    Réponses: 9
    Dernier message: 27/09/2002, 17h06

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