Désactiver le lien d'un LinkButton [Résolu]

Messages postés
150
Date d'inscription
dimanche 14 mars 2004
Dernière intervention
21 décembre 2007
- - Dernière réponse : Coolpix08
Messages postés
150
Date d'inscription
dimanche 14 mars 2004
Dernière intervention
21 décembre 2007
- 10 juil. 2006 à 09:34
Bonjour,

voila j'ai un linkbutton dans une datalist et sur un raffraichissement, jaimerais retirer le lien du linkbutton.
Mais je ne trouve pas la priorité...
Il y aurait bien une solution avec un label et mettre le lien dedans mais pour la suite de mes opérations je vais galerer alors...

La seule solution que j'ai trouvé pour l'instant, c'est de rajouter un attribut sur onclick et de faire un return false; pour pas faire de postback et de mettre en style le text decoration à none...mais le curseur change kememe...et c'est pas zuper top...

En gros..comment transformer un LinkButton en simple label on va dire....

Merci d'avance!
Afficher la suite 

Votre réponse

18 réponses

Meilleure réponse
Messages postés
150
Date d'inscription
dimanche 14 mars 2004
Dernière intervention
21 décembre 2007
2
3
Merci
Ah ouais effectivement poppyto.....snif..presque...en plus avec l'attribut text-decoration a none on retire le souligner de lypertext mais meme avec color en style noirben ca marche toujours pas...

Bon ben tant pis..aparement le seul moyen serait ce que je fait..temps pis...

Merci ke meme d'avoir repondu!!!
Je valide le post

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 98 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Coolpix08
Messages postés
6827
Date d'inscription
dimanche 15 décembre 2002
Dernière intervention
13 octobre 2010
17
3
Merci
Bonjour,

la solution propre consiste à créer son propre controle qui dérive de LinkButton, tu rajoutes une propriété isActive, et tu overrides le render pour que ca aille bien :)

<hr />Cyril - MVS - MCP

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 98 internautes nous ont dit merci ce mois-ci

Commenter la réponse de jesusonline
Messages postés
150
Date d'inscription
dimanche 14 mars 2004
Dernière intervention
21 décembre 2007
2
0
Merci
Bon jsuis toujours en attente d'une solution plus simple...
La j'ai simplement mis un LinkButton et un Label avec la meme valeur text et lors du raffraichissement j'inverse les valeurs visibles de l'un et l'autre....pour avoir ou pas le lien...

Si quelqu'un à une solution plus simple qu'il n'hésite pas parce que la c'est fait vraiment bidouille...
Commenter la réponse de Coolpix08
Messages postés
541
Date d'inscription
dimanche 29 décembre 2002
Dernière intervention
13 mai 2011
0
Merci
Tu peux toujours changer le style cursor (css) nop ?

Poppyto    
[</body ]
Commenter la réponse de cs_poppyto
Messages postés
150
Date d'inscription
dimanche 14 mars 2004
Dernière intervention
21 décembre 2007
2
0
Merci
ouais mais le problème c'est que ya toujours le lien dans la barre d'état alors C pour ca..
faudrai vraiment trouver la propriété qui désactive le lien...
Et vraiment faire comme si CT un Label....

merci d'avoir rep kememe!
Commenter la réponse de Coolpix08
Messages postés
586
Date d'inscription
lundi 7 janvier 2002
Dernière intervention
10 février 2010
1
0
Merci
salut,

essaie avec monBouton.PostBackUrl=""

yopyop
Commenter la réponse de cs_Yopyop
Messages postés
150
Date d'inscription
dimanche 14 mars 2004
Dernière intervention
21 décembre 2007
2
0
Merci
Non plus...
Le controle est un LinkButton...
Commenter la réponse de Coolpix08
Messages postés
541
Date d'inscription
dimanche 29 décembre 2002
Dernière intervention
13 mai 2011
0
Merci
Et si le lien tu le mets à "#" ?

Poppyto    
[</body ]
Commenter la réponse de cs_poppyto
Messages postés
6069
Date d'inscription
dimanche 13 avril 2003
Dernière intervention
15 juillet 2011
22
0
Merci
Salut

En utilisant les templates ou les ajouts de controles dynamiques tu arriveras a resoudre ton probleme.

J'ai deja fais des choses comme cela mais avec un framework de presentation.

C'etait dans l'evement initializerow

Pour chaque ligne on teste
si oui alors
ajout d'un label
sinon
ajout d'un linkbutton

Voila un bout de code que jeviens de faire
avec un datalist
    Protected Sub DataList1_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataListItemEventArgs) Handles DataList1.ItemDataBound
        If DirectCast(e.Item.DataItem, DataRowView).Row.Item(0) = 2 Then
            e.Item.BackColor = Drawing.Color.AliceBlue
        End If

    End Sub

Amuse toi bien
Commenter la réponse de nhervagault
Messages postés
150
Date d'inscription
dimanche 14 mars 2004
Dernière intervention
21 décembre 2007
2
0
Merci
Ah ouais j'avais deja fait ca aussi, le fait de créer dynamiquement les boutons mais le prob c'est que je suis obligé de le mettre en dur dans le code HTML...

Merci d'avoir repondu, pour l'instant je vais garder le system de Label et jouer avec les visible....tant pis...snif...jpensais qu'un control héritait d'un objet de base sans rien et que CT donc possible de désactiver ca nouvelle spécificité....

Pour le # j'ai essayer, c'est le meme problème, il me met le lien et le curseur et apres ca va etre de la bidouille pire que maintenant.
Tient je vais soulever une autre question.
On fait comment pour REMPLACER un attributs d'un objet???
Parce que je sais en ajouter avec attributs.add("","") mais comme la fonction le dit ca va l'ajouter limite doubler les attributs...

Bon si quelqu'un à la solution qu'il n'hésite pas.
Comment transformer avec les attributs un LinkButton en Label...

Merci d'avance!
Commenter la réponse de Coolpix08
Messages postés
541
Date d'inscription
dimanche 29 décembre 2002
Dernière intervention
13 mai 2011
0
Merci
Y'a une alternative limitée qui est de mettre la propriété Enable du LinkButton à false mais le texte est grisé (je suis persuadé qu'on peut malgré tout y faire sauter ^^). Malgré tout on obtient ce que tu veux !

Poppyto    
[</body ]
Commenter la réponse de cs_poppyto
Messages postés
150
Date d'inscription
dimanche 14 mars 2004
Dernière intervention
21 décembre 2007
2
0
Merci
Ouais ya toujours une solution propre...mais le problème c'est que je n'est aucune idé de comment dérivé les controles pour l'instant alors....

  Je pense que je vais rester avec ma solution... du moins pour le moment je vera d'ici fin aout si l'appli que je dois faire est terminé et si je peux l'améliorée...
  Par contre c'est dommage qu'il n'y est pas de tuto complet sur la dérivation des controls. Ca pourrais etre fort utils!!!

Merci a ts!
Commenter la réponse de Coolpix08
Messages postés
6827
Date d'inscription
dimanche 15 décembre 2002
Dernière intervention
13 octobre 2010
17
0
Merci
"Par contre c'est dommage qu'il n'y est pas de tuto complet sur la dérivation des controls." == si tu pouvais nous faire un petit tuto la dessus ? ;-)

Disonss que la création de controles c'est trés simple il faut juste comprendre l'objet et le fonctionnement des controles, mais j'ai dans ma liste d'article en cours, un truc qui devrait téinteresser sur le fonctionnement des controles donc ce sera trés simple de comprendre comment dériver un controle :-)

bon courage

<hr />Cyril - MVS - MCP
Commenter la réponse de jesusonline
Messages postés
150
Date d'inscription
dimanche 14 mars 2004
Dernière intervention
21 décembre 2007
2
0
Merci
lol!
if (youwant==true)
{
  Response.Write("si tu pouvais nous faire un petit tuto la dessus ?");
}

Les psycodes marchent super bien quand meme lol!

 Oui je me doute que la derivation de control reste sur le meme principe que la dérivation de classe mais disons que sans code d'exemple je ne serais par ou commencer ni comment mis prendre. Et surtt qu'avec un bon exemple ca va kememe bcp plus vite à comprendre
  Mais avec la chance que j'ai et vu que je viens d'en parler, je vais etre obliger de mis mettre pour un des controls dans pas lontemps....

  Surement dans un prochain post....
Commenter la réponse de Coolpix08
Messages postés
6827
Date d'inscription
dimanche 15 décembre 2002
Dernière intervention
13 octobre 2010
17
0
Merci
Mode crade, écrit trés rapidement :p

public class MonLinkButton : LinkButton
{


    private Boolean isActive = true;


    public Boolean IsActive
    {
        get { return isActive; }
        set { isActive = value; }
    }




    protected override void Render(HtmlTextWriter writer)
    {
        if (isActive)
        {
            base.Render(writer);
        }
        else
        {
            //mode crade
            writer.Write(string.Format(@"[ {1}]", this.ToolTip, this.Text)
        }
    }
   
}

dans le render il faudrais se servir de writer.writeAttributes etc...

Pour t'en servir il faut mettre ce code dans un nouveau projet de type classe librarire VS2005 te rajoutera automatiquement le controle dans la toolbox :)





<hr />

Cyril - MVS - MCP
Commenter la réponse de jesusonline
Messages postés
150
Date d'inscription
dimanche 14 mars 2004
Dernière intervention
21 décembre 2007
2
0
Merci
????

Excellent!
En faite dans la fonction Render, c'est vraiment le code qui va etre ecrit ou plutot ce qui va etre traduit en HTML!

J'avais pas vu ca comme ca mais ca a l'air excellent en faite!
J'imagine deja les control customiser pour personnaliser le code HTML redondant

Merci bien! c'est le genre de code que je recherche. Juste ce qu'il faut pour te donner l'idée principal et apres c'est a soimeme de creuser un peu!!!

Bon ben ya pu ka!
Commenter la réponse de Coolpix08
Messages postés
6827
Date d'inscription
dimanche 15 décembre 2002
Dernière intervention
13 octobre 2010
17
0
Merci
"pour personnaliser le code HTML redondant" >> http://blogs.developpeur.org/cyril/archive/2006/04/12/Le_tagMapping_comment_changer_les_comportements_des_controles_web_en_quelques_lignes.aspx 

c'est un poil plus performant pour modifier seulement le HTML des controles ;-) le render et qu'une des parties du truc c'est beacoup plus complexe et puissant si on rentre en détail :)

<hr />Cyril - MVS - MCP
Commenter la réponse de jesusonline
Messages postés
150
Date d'inscription
dimanche 14 mars 2004
Dernière intervention
21 décembre 2007
2
0
Merci
Cool!!!
Jte remercie pour le lien!
Je connaissait pas du tout cette méthode!Je vais essayer ca desuite!

++
Commenter la réponse de Coolpix08

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.