2010-01-14 2 views
0

J'utilise la classe CSS suivante pour masquer une zone de texte dans un asp:UpdatePanel pour accepter l'entrée d'un lecteur de carte USB.La classe CSS n'est pas appliquée à l'élément d'entrée sur le rappel asynchrone

<style type="text/css"> 
    .USBBox 
    { 
     position: absolute; 
     left: -999em; 
    } 
</style> 

Lorsque je clique sur un contrôle asp:LinkButton qui est configuré pour être un asp:AsyncPostBackTrigger pour le panneau de mise à jour de la commande apparaît sur la page et la classe CSS n'est pas appliquée au contrôle asp:TextBox.

Ce comportement est affiché dans IE7. Il fonctionne comme prévu dans FireFox 3.5.7

Quelle serait la cause de ce comportement et comment le résoudre

+1

je suis allé de l'avant et enlevé le asp: LinkButton de la page pour résoudre le problème. Je brûlais trop de calories en essayant de résoudre ce problème simple. –

+0

Heureux que vous avez trouvé une solution de contournement .. drastique comme il se peut :) –

+0

@Gaby - Je brûlais trop de calories en essayant de résoudre ce problème. –

Répondre

0

Il mon être une question de spécificité. Essayez

input.USBBox{ position:absolute!important; left:-999px!important; }

Et si ça marche, retour sur les étiquettes! Importantes pour voir ce qui a causé le problème.

Déclare également l'affichage: bloc; Au cas où.

+0

@Christopher - Pas de dés. Aucune de ces suggestions n'a résolu le problème. –

0

Je pense que vous devriez utiliser:

.USBBox 
{ 
    display: none; 
} 

ou peut-être utiliser un asp: HiddenField au lieu d'une zone de texte.

+0

@Kaba - J'ai essayé d'utiliser la solution 'display: none' et cela ne fonctionne pas parce que le lecteur de carte reproduit les données de la piste dans un contrôle d'entrée. La seule façon de le faire fonctionner était avec la classe CSS actuelle –

0

essayer

.USBBox 
{ 
    display: block; 
    width: 100px; /* or however wide you want it */ 
    position: absolute; 
    left: -999em; 
    background: #ff0000; /* visually ensure the class style is being applied, remove it later */ 
} 

position, ne travailler sur des éléments qui sont affichés sous forme d'un bloc. Les éléments de formulaire par défaut sont affichés en ligne.

également juste pour les fous rires définir la couleur de fond juste pour s'assurer que la boîte d'entrée prend classe.

+0

@Michael - Cela ne fonctionnait pas non plus. Il lit et analyse uniquement les données de piste lorsque l'attribut d'affichage n'est pas explicitement défini. –

+0

Est-ce que ce javascript est utilisé pour le suivi des données ou sur le serveur? avez-vous une démo en ligne de cela? IE est-il en mode quirks ou en mode standard? –

+0

Je n'ai pas d'endroit où vivre pour le tester. –

0

Se pourrait-il que le nouveau contrôle comporte plusieurs classes?

Parce que IE a des problèmes lors de la combinaison des classes sur un seul élément ..

+0

@Non sûr, la seule classe appliquée (que je connaisse) qui est appliquée à 'asp: Textbox' est l'USBBox. –

+0

Je ne suppose pas que vous avez quelque part en direct afin que nous puissions vivre-tester? –

+0

Je n'ai actuellement pas d'endroit pour vivre le tester. –

Questions connexes