Désactiver le lien d'un LinkButton

Résolu
Coolpix08 Messages postés 150 Date d'inscription dimanche 14 mars 2004 Statut Membre Dernière intervention 21 décembre 2007 - 3 juil. 2006 à 14:18
Coolpix08 Messages postés 150 Date d'inscription dimanche 14 mars 2004 Statut Membre 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!

18 réponses

Coolpix08 Messages postés 150 Date d'inscription dimanche 14 mars 2004 Statut Membre Dernière intervention 21 décembre 2007 2
4 juil. 2006 à 12:15
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
3
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
4 juil. 2006 à 13:56
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
3
Coolpix08 Messages postés 150 Date d'inscription dimanche 14 mars 2004 Statut Membre Dernière intervention 21 décembre 2007 2
3 juil. 2006 à 14:23
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...
0
cs_poppyto Messages postés 540 Date d'inscription dimanche 29 décembre 2002 Statut Modérateur Dernière intervention 13 mai 2011
3 juil. 2006 à 15:34
Tu peux toujours changer le style cursor (css) nop ?

Poppyto    
[</body ]
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Coolpix08 Messages postés 150 Date d'inscription dimanche 14 mars 2004 Statut Membre Dernière intervention 21 décembre 2007 2
3 juil. 2006 à 16:11
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!
0
cs_Yopyop Messages postés 586 Date d'inscription lundi 7 janvier 2002 Statut Membre Dernière intervention 10 février 2010 1
3 juil. 2006 à 17:47
salut,

essaie avec monBouton.PostBackUrl=""

yopyop
0
Coolpix08 Messages postés 150 Date d'inscription dimanche 14 mars 2004 Statut Membre Dernière intervention 21 décembre 2007 2
3 juil. 2006 à 17:54
Non plus...
Le controle est un LinkButton...
0
cs_poppyto Messages postés 540 Date d'inscription dimanche 29 décembre 2002 Statut Modérateur Dernière intervention 13 mai 2011
3 juil. 2006 à 18:36
Et si le lien tu le mets à "#" ?

Poppyto    
[</body ]
0
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
3 juil. 2006 à 19:46
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
0
Coolpix08 Messages postés 150 Date d'inscription dimanche 14 mars 2004 Statut Membre Dernière intervention 21 décembre 2007 2
4 juil. 2006 à 08:53
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!
0
cs_poppyto Messages postés 540 Date d'inscription dimanche 29 décembre 2002 Statut Modérateur Dernière intervention 13 mai 2011
4 juil. 2006 à 11:29
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 ]
0
Coolpix08 Messages postés 150 Date d'inscription dimanche 14 mars 2004 Statut Membre Dernière intervention 21 décembre 2007 2
5 juil. 2006 à 11:59
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!
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
5 juil. 2006 à 12:10
"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
0
Coolpix08 Messages postés 150 Date d'inscription dimanche 14 mars 2004 Statut Membre Dernière intervention 21 décembre 2007 2
5 juil. 2006 à 13:28
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....
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
5 juil. 2006 à 13:39
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
0
Coolpix08 Messages postés 150 Date d'inscription dimanche 14 mars 2004 Statut Membre Dernière intervention 21 décembre 2007 2
5 juil. 2006 à 14:54
????

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!
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
5 juil. 2006 à 15:29
"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
0
Coolpix08 Messages postés 150 Date d'inscription dimanche 14 mars 2004 Statut Membre Dernière intervention 21 décembre 2007 2
10 juil. 2006 à 09:34
Cool!!!
Jte remercie pour le lien!
Je connaissait pas du tout cette méthode!Je vais essayer ca desuite!

++
0
Rejoignez-nous