2010-03-28 36 views
2

我在隱藏的div裏面有一個組合框,我用css display = none使它不可見,但是當我通過設置display = block使div可見時,組合框只顯示輸入和它的按鈕和ul列表都有css作爲display ='none',visibility ='hidden'。asp.net Ajax工具包組合框不能在隱藏的div中工作

我可以告訴它是由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> 
+1

我認爲您不太可能在工具包中發現錯誤;你很可能沒有理解它應該被使用的方式。當然,您可能發現了一個錯誤,並且您的團隊對該工具包的信任錯位,或者您的基礎不夠穩固。但是,如果你發現了一個bug,你需要向維護人員報告...... – 2010-03-28 22:43:24

+0

事實證明這是一個錯誤。我必須把顯示邏輯放在js頁面載入中的show()方法後面沒有代碼,然後它就起作用了。 – sam 2010-05-16 13:09:31

回答

0

嘗試使用「知名度=隱藏」,而不是「顯示=無」 DIV

-1

您的按鈕-DIV(ID =「Button1的「)將回發該頁面,因爲它的」runat = server「。刪除該&最有可能它會正常工作。

+0

一個div不會因此回發。 runat =「server」只告訴div可以在服務器代碼中作爲HtmlControl訪問。 – awe 2010-05-21 13:50:24

0

我剛剛有同樣的問題,我已經部分解決了。使用「隱藏」而不是「無」幾乎可以工作,但奇怪的是,即使div被隱藏,箭頭圖標仍然保持不在div並且可見。

我沒有使用任何樣式屬性應用於我的隱藏的div,並且我沒有修改使用Combobox樣式。

我已經檢查過Chrome和IE9的方式。感謝您的幫助。

+0

我認爲這是關於按鈕類。 – 2012-02-22 21:00:47