asp.net ajax工具包组合框在隐藏的div中不起作用

时间:2010-03-28 22:28:15

标签: asp.net ajax controls toolkit

我在隐藏的div中有一个组合框,我使用css display = none使其不可见,但是当我通过设置display = block使div可见时,组合框只显示输入及其按钮和ul列表都有css as display ='none',visibility ='hidden'。

我可以告诉它是由combobox inbuild javascript完成的,因为我试图使用javascript手动设置css而没有运气。这是一个组合框的错误。需要紧急帮助。我花了一个星期来解决这个问题,我们的团队非常信任该工具包。请帮助我,所有javascript专家,谢谢。

以下是重现该错误的代码。当你运行它时,你看不到下拉列表:

<%@ 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>

3 个答案:

答案 0 :(得分:0)

尝试对div使用“visibility = hidden”而不是“display = none”

答案 1 :(得分:0)

我刚遇到同样的问题,我已经部分解决了。使用“隐藏”而不是“无”几乎可以工作,但奇怪的是,箭头图标仍然保持在div之外并且可见,即使div被隐藏了。

我没有使用任何应用于隐藏div的样式属性,而且我使用的是Combobox样式而没有修改。

我已经在Chrome和IE9上检查了它。感谢您提供任何帮助。

答案 2 :(得分:-1)

你的button-div(ID =“Button1”)将回发页面,因为它是“runat = server”。删除&amp;最有可能它会正常工作。