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 disable asp:ListBox


Sujet :

ASP.NET

  1. #1
    Membre averti
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Mars 2011
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Mars 2011
    Messages : 60
    Par défaut Problème disable asp:ListBox
    Bonjour,

    Je me permets de poster pour un problème qui semble assez simple mais sur lequel je m'arrache litéralement les cheveux depuis ce matin:

    J'ai une asp:ListBox qui n'est sensée faire que de l'affichage. J'ai donc renseigné: Mais l'utilisateur peut sélectionner les items de la liste... Ce n'est pas grâve en soit dans la mesure où il n'y a pas de traitement sur ces données mais ce n'est pas pro du tout...

    Voici un extrait du code asp de ma page (la listbox en question: register_recipient est dans un tableau):

    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
     
    <asp:TableRow>
    	<asp:TableCell style="vertical-align: top;">
    		Push recipients<br />
    		<asp:ImageButton ID="copy" runat="server" ImageUrl="~/img/copy_down.png" 
    			AlternateText="copy" onclick="copy_Click" />
    	</asp:TableCell>
    	<asp:TableCell>
    		<asp:ListBox ID="register_recipient" runat="server" Width="227px" Enabled="false" Rows="1"></asp:ListBox>
    	</asp:TableCell>
    </asp:TableRow>
    <asp:TableRow>
    	<asp:TableCell style="vertical-align: top;">Update recipients</asp:TableCell>
    	<asp:TableCell>
    		<asp:ListBox ID="report_recipient" runat="server" Width="227px" SelectionMode="Multiple" Rows="6"></asp:ListBox>
    	</asp:TableCell>
    </asp:TableRow>
    Merci d'avance à tous ceux qui prendront un moment pour me sortir de l'impasse.

    Max

  2. #2
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Billets dans le blog
    3
    Par défaut
    Bonjour,

    A ma connaissance, cela ne fonctionne pas sous IE, car il ne supporte pas l'option 'disabled' pour les ListBox.

    Lors du runtime, les ListBox sont rendues en tant que balise SELECT, et les ListItem sont rendus en tant que balise OPTION.

    Dans les autres navigateurs, tu peux utiliser ce genre de code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    myListBox.Items.FindByValue("Toto").Attributes.Add("disabled", "disabled");
    Chez Telerik tu peux trouver un composant qui gère l'état 'disabled', parce que le rendu est une balise LI...

    Sinon, voici quelques liens qui pourront te permettre de bidouiller via du Javascript :

    http://stikiflem.wordpress.com/2008/...x-items-in-ie/

    http://www.lattimore.id.au/2005/07/01/select-option-disabled-and-the-javascript-solution/


    http://elmicoxcodes.blogspot.com/2007/05/activating-option-disabled-in-ie.html
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  3. #3
    Membre averti
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Mars 2011
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Mars 2011
    Messages : 60
    Par défaut
    Il n'est pas possible de se contenter de désactiver l'ensemble de la listbox?

  4. #4
    Modérateur

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2007
    Messages
    1 996
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 996
    Par défaut
    As-tu essayé de mettre la ListBox dans un conteneur (Panel par ex) et de désactiver ce conteneur ?

  5. #5
    Membre averti
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Mars 2011
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Mars 2011
    Messages : 60
    Par défaut
    Ca ne change rien...

  6. #6
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Billets dans le blog
    3
    Par défaut
    Citation Envoyé par mpilard Voir le message
    Ca ne change rien...
    Comme je l'ai expliqué précédemment, à cause du rendu au moment du runtime, il n'est pas possible de désactiver complètement un ListBox dans IE, sauf en le bidouillant via du Javascript...

    Par contre sous FireFox en principe ça fonctionne normalement, sans avoir besoin de bidouiller.
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  7. #7
    Membre averti
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Mars 2011
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Mars 2011
    Messages : 60
    Par défaut
    Non, je teste sous FF est rien n'est désactivé... C'est d'ailleurs ce qui m'a fait pensé à une erreur de ma part qqpart... Mais où?

  8. #8
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Billets dans le blog
    3
    Par défaut
    Effectivement, je pensais que le problème n'existait que sous IE, mais il existe aussi sous FF.

    Et cela provient bien du fait que les éléments ListItem sont convertis en tag HTML <option> et que ces derniers ne supportent pas "enabled" ou "disabled"... C'est un bug connu malheureusement.
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  9. #9
    Membre averti
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Mars 2011
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Mars 2011
    Messages : 60
    Par défaut
    Ok, donc seule solution: la bidouille JS, c'est bien ça?

  10. #10
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Billets dans le blog
    3
    Par défaut
    Citation Envoyé par mpilard Voir le message
    Ok, donc seule solution: la bidouille JS, c'est bien ça?
    Oui c'est bien ça. Je te renvoie donc vers les liens que j'ai posté un peu plus haut sur cette page

    En voici un de plus : http://www.codeproject.com/KB/webfor...ListItems.aspx
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

Discussions similaires

  1. [VB.NET]Problème de recuperation listbox
    Par ZeLL dans le forum ASP.NET
    Réponses: 3
    Dernier message: 09/06/2006, 11h11
  2. Problème formulaire ASP
    Par nicolasferraris dans le forum ASP
    Réponses: 4
    Dernier message: 02/06/2006, 12h33
  3. vb.net: problème entre checkedlistbox/listbox
    Par 1coni dans le forum Windows Forms
    Réponses: 8
    Dernier message: 29/05/2006, 16h06
  4. Problème entre 2 listbox à selection multiple
    Par SoaB dans le forum Général JavaScript
    Réponses: 24
    Dernier message: 24/10/2005, 16h05
  5. problème requete asp
    Par bichonjp dans le forum ASP
    Réponses: 5
    Dernier message: 08/09/2005, 12h05

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