2010-03-28 4 views
2

J'ai une combobox à l'intérieur d'un div caché que j'utilise css display = none pour le rendre invisible, mais quand je fais le div visible en définissant display = block, le combobox affiche simplement l'entrée et son bouton et ul list ont tous un css comme display = 'none', visibility = 'hidden'.asp.net ajax toolkit combobox ne fonctionne pas en div caché

Je peux dire qu'il est fait par combobox inbuild javascript parce que j'ai essayé d'utiliser javascript pour définir le css manuellement sans aucune chance. C'est un bug de combobox. Aide urgente nécessaire. J'ai passé une semaine à résoudre cela, et notre équipe a beaucoup confiance dans la boîte à outils. S'il vous plaît aidez-moi à ce sujet, tous les gourous javascript, merci.

Voici le code pour reproduire le bogue. Lorsque vous exécutez, vous ne pouvez pas voir le menu déroulant:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebApplication1._Default" %> 

<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %> 

<asp:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server"> 
</asp:ToolkitScriptManager> 
<div id="d" style="display:none"> 
    <asp:ComboBox ID="ComboBox1" runat="server"> 
    <asp:ListItem>a</asp:ListItem> 
    <asp:ListItem>d</asp:ListItem> 
    <asp:ListItem>f</asp:ListItem> 
    </asp:ComboBox> 
    <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label> 
</div> 
<div ID="Button1" runat="server" onclick="show();">click me</div> 

<script type="text/javascript"> 
    function show() { 
     var d = $get('d'); 
     d.style.display = 'block'; 
    } 
</script> 
+1

Je pense qu'il est peu probable que vous ayez trouvé un bogue dans la boîte à outils; il est plus probable que vous n'ayez pas compris quelque chose sur la façon dont il est censé être utilisé. Bien sûr, il est possible que vous ayez trouvé un bug et que la confiance de votre équipe dans la boîte à outils soit mal placée ou qu'elle soit moins solide que vous le souhaiteriez. Cependant, si vous avez trouvé un bug, vous devez le signaler aux mainteneurs ... –

+0

il s'avère que c'est un bug. Je dois mettre la logique d'affichage, cette méthode de show() dans js pageload pas de code derrière, alors cela a fonctionné. – sam

Répondre

0

Essayez d'utiliser "la visibilité = hidden" au lieu de "display = none" pour div

-1

Votre bouton div (ID = "Button1 ") publiera la page comme" runat = server ". Enlevez cela & très probablement cela fonctionnera bien.

+0

une div ne sera pas postback pour cette raison. runat = "server" indique seulement que la div est accessible en tant que HtmlControl dans le code du serveur. – awe

0

Je viens d'avoir le même problème et je l'ai résolu partiellement. Utiliser "hidden" au lieu de "none" a presque fonctionné, mais étrangement, l'icône de la flèche reste toujours hors de la div et visible, même quand div était caché.

Je n'utilise aucun attribut de style appliqué à ma div masquée, et j'utilise des styles Combobox sans modification.

Je l'ai vérifié sur Chrome et IE9 en passant. Merci pour tout type d'aide.

+0

Je pense que c'est à propos de la classe des boutons. –

Questions connexes