1
更改.NET AJAX控件工具包控件的可見性屬性的首選方法是什麼?我想在查詢返回值null
時使控件「不可見」。如何更改CascadingDropDown控件的可見性
使用工具包擴展程序時,看起來「OnSelectedIndexChanged」事件不會從<asp:DropDownList>
觸發。
更改.NET AJAX控件工具包控件的可見性屬性的首選方法是什麼?我想在查詢返回值null
時使控件「不可見」。如何更改CascadingDropDown控件的可見性
使用工具包擴展程序時,看起來「OnSelectedIndexChanged」事件不會從<asp:DropDownList>
觸發。
老實說,我只是將目標DropDownList
的CascadingDropDownExtender
附加到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是否應該被隱藏(比如檢查控件是否沒有選擇元素等)。如果您遇到問題,請告訴我,我也可以嘗試幫助。
編輯:我加入了說的邏輯的一個可能的例子=)
謝謝您的答覆。我對上述技術有點不清楚。例如。如果ID =「myDropDownParent」OnSelectedChange事件控制ID =「myDropDownChild」,則ID =「myDropDownParent」是否包含onchange屬性?和var ddl = document.getElementById(「<%= myDropDownListChild.ClientID%>; ...在腳本中? – soulia
順便說一句,上面的工作。再次感謝!作爲一個javascript noob,你會如何檢查一個空或在Child元素中爲空值? – soulia
@soulia我已添加檢查以查看下拉列表是否爲空=)如果這對您有幫助,請隨時註冊或接受此答案(或兩者兼而有之!)。Happy code! – jadarnel27