2012-01-21 76 views
1

更改.NET AJAX控件工具包控件的可見性屬性的首選方法是什麼?我想在查詢返回值null時使控件「不可見」。如何更改CascadingDropDown控件的可見性

使用工具包擴展程序時,看起來「OnSelectedIndexChanged」事件不會從<asp:DropDownList>觸發。

回答

1

老實說,我只是將目標DropDownListCascadingDropDownExtender附加到display:none css風格。你可以在JavaScript這樣做在頁面上是這樣的:

<script type="text/javascript"> 
    function hideDDL(){ 
     // Get the DropDownList by its ID value 
     var ddl = document.getElementById("<%= myDropDownList.ClientID %>"); 
     // If there are no items in the drop down, hide it 
     if (ddl.options.length == 0) 
      ddl.style.display = "none"; 
    } 
</script> 

,然後在你的DropDownList標記,只需添加上述功能,客戶端onchange事件:

<asp:DropDownList runat="server" ID="myDropDownList" onchange="hideDDL();" ... > 
    ... 
</asp:DropDownList> 

注:顯然,你需要在javascript函數中使用邏輯來指示DropDownList是否應該被隱藏(比如檢查控件是否沒有選擇元素等)。如果您遇到問題,請告訴我,我也可以嘗試幫助。
編輯:我加入了說的邏輯的一個可能的例子=)

+0

謝謝您的答覆。我對上述技術有點不清楚。例如。如果ID =「myDropDownParent」OnSelectedChange事件控制ID =「myDropDownChild」,則ID =「myDropDownParent」是否包含onchange屬性?和var ddl = document.getElementById(「<%= myDropDownListChild.ClientID%>; ...在腳本中? – soulia

+0

順便說一句,上面的工作。再次感謝!作爲一個javascript noob,你會如何檢查一個空或在Child元素中爲空值? – soulia

+0

@soulia我已添加檢查以查看下拉列表是否爲空=)如果這對您有幫助,請隨時註冊或接受此答案(或兩者兼而有之!)。Happy code! – jadarnel27

相關問題