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 :

Ne pas griser un button disabled


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mars 2005
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 49
    Par défaut Ne pas griser un button disabled
    Bonjour,

    (VS2005, .Net 2.0)
    j'ai plusieurs boutons (button) sur ma page aspx et je désactive certains boutons en mettant la propriété enabled à false.

    Mon problème est que j'ai du texte dans ces boutons et du coup ce texte apparait en grisé.

    Je voudrais savoir s'il existe un moyen de désactiver un bouton mais de ne pas changer son apparence c'est à dire de laisser mon texte avec son apparence d'origine.

    Merci.

  2. #2
    Membre Expert
    Avatar de Pongten
    Homme Profil pro
    IT Analyst & Software Developer
    Inscrit en
    Juin 2002
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : IT Analyst & Software Developer
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 173
    Par défaut
    A mon avis, pas en utilisant la propriété Enabled.

    Par contre, en affectant sa propriété OnClienClick à "return false;", il restera clickable et lisible, mais cliquer dessus ne fera rien. Conjointement à cela, il faut peut-être également placer la propriété CauseValidation à false.

  3. #3
    Membre expérimenté
    Homme Profil pro
    Consultant SharePoint
    Inscrit en
    Mars 2006
    Messages
    270
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant SharePoint
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2006
    Messages : 270
    Par défaut
    je te conseille de te créer un composant surchargeant le composant de base, par exemple pour une image button, crée une CustomImageButton.
    En surchargeant la propriété enabled (override) tu peux changer le rendu avec la méthode render ou Pre_render....

    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
     
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Text;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
     
    namespace MyWeb.UI.WebControls
    {
        [DefaultProperty("Text")]
        [ToolboxData("<{0}:CustomImageButton runat=server></{0}:CustomImageButton>")]
        public class CustomImageButton : ImageButton
        {
     
            public override bool Enabled
            {
                get
                {
                    return base.Enabled;
                }
                set
                {
                    base.Enabled = value;
                }
            }
     
            protected override void Render(HtmlTextWriter writer)
            {
                if (this.Enabled)
                {
                    base.Render(writer);
                }
                else
                {
                    Image img = new Image();
                    img.ImageUrl = "~/Images/newitemInvisible.png";
                    img.RenderControl(writer);
                }
            }
        }
    }
    ici je remplace le bouton standard par un png transparent....

  4. #4
    Membre averti
    Inscrit en
    Mars 2005
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 49
    Par défaut
    Je comprend pas trop ta réponse.

    Ce code que tu m'as donné, je dois le mettre dans une page aspx.cs?
    Je dois créer cette page dans mon projet ou dans un dossier particulier?

    Est-ce que cela change quelque chose dans mon appel de mes boutons?

    Merci d'avance.

  5. #5
    Membre expérimenté
    Homme Profil pro
    Consultant SharePoint
    Inscrit en
    Mars 2006
    Messages
    270
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant SharePoint
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2006
    Messages : 270
    Par défaut
    en gros tu déclare une nouvelle classe C# (tu peux faire un dossier Web et un sous dossier UI).
    Tu colles le code (en gros c'est juste une redéfinition d'un composant (tu connais les héritages?))
    là je t'ai fé un exemple pour un imageButton, a toi de faire avec ton composant.
    apres lorsque tu crées tes composants (dans le aspx (<asp:ImageButton ... />) tu déclare ton composant :
    <%@ Register Assembly="MyWeb" Namespace="MyWeb.UI.WebControls" TagPrefix="cc1" %>

    apres tu l'utilise avec <cc1:CustomImageButton .... />

Discussions similaires

  1. [2.x] Test fonctionnel, j'arrive pas à attraper mon button
    Par jfsenechal dans le forum Symfony
    Réponses: 5
    Dernier message: 07/08/2014, 10h57
  2. css button disable, comment faire ?
    Par Logic_613 dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 10/09/2012, 09h51
  3. Onclick ne marche pas sur un element "disabled"
    Par Niki59 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 09/07/2009, 13h12
  4. pertinence de button[disabled="disabled"] ?
    Par joseph_p dans le forum Mise en page CSS
    Réponses: 10
    Dernier message: 16/06/2009, 11h24
  5. CSS pour ne pas griser les bouton radio en mode 'disabled'
    Par niko73 dans le forum Mise en page CSS
    Réponses: 10
    Dernier message: 16/01/2009, 10h05

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